我遇到了一个小问题,我总是在具有 GenericDAO 模式的 Web 上使用 Hibernate 和 Spring,现在我将 Hibernate 用于不使用 EJB 之类的东西的 GUI 应用程序。
我的主要问题是我曾经有这个
@PersistenceContext(unitName = "persistenceUnit")
private EntityManager em;
但现在我这样做:
private EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceUnit");
private EntityManager em = emf.createEntityManager();
刚刚注意到我的一个大缺陷是,每当我继承这个 GenericDAO 类时,我每次都会创建一个 EntityManagerFactory,我该怎么办?
编辑:
同意这将是解决它的最巧妙方法吗?
private EntityManagerFactory emf;
private static final Connector INSTANCE = new Connector();
public static Connector getInstance() {
return INSTANCE;
}
private Connector(){
emf = Persistence.createEntityManagerFactory("persistenceUnit");
}
public EntityManagerFactory getEmf() {
return emf;
}