我正在创建一个 Java EE 应用程序并使用休眠设置我的持久性。因为我没有看到这个应用程序有那么大,所以我没有看到使用 EJB 的意义,所以我创建了一个 PersistenceUtil 类来管理我的 EntityManagerFactory。
像这样的东西:
private static HashMap<String, Object> emfMap = new HashMap<String, Object>();
public static EntityManager getEntityManagerFor(String unitName){
if(!emfMap.isEmpty() || !emfMap.containsKey(unitName)){
EntityManagerFactory emf = Persistence.createEntityManagerFactory(unitName);
emfMap.put(unitName, emf);
return emf.createEntityManager();
} else {
//return the one that exists...
}
因此,由于可以有多个持久单元,我可以在使用它们时延迟加载它们。
我以这种方式创建它是因为我知道可以有多个持久单元。我不明白并且似乎找不到答案的是什么会让我创建另一个持久单元?一件事是我假设的多个数据库,但还有其他划分点吗?