我正在开发一个简单的 Java EE 应用程序。
我有这样的课:
import javax.annotation.PostConstruct;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
@Stateless
public class BlogEntryDao {
EntityManager em;
@PostConstruct
public void initialize(){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Persistence");
em = emf.createEntityManager();
}
public void addNewEntry(){
Blogentry blogentry = new Blogentry();
blogentry.setTitle("Test");
blogentry.setContent("asdfasfas");
em.persist(blogentry);
}
}
所以我的托管 bean 调用这个方法。直到这里没有问题。但是由于没有调用初始化方法,我在em.persist中得到了一个 NPE 。
为什么没有调用初始化方法?我在 Glassfish 服务器上运行它。
问候。