私は単純な 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サーバーで実行しています。
よろしく。