何时创建新的EntityManager

时间:2013-06-25 15:08:46

标签: java java-ee jpa eclipselink

我在非托管(无EJB)上下文中使用JPA(Eclipselink)。

我的问题是:我应该让实体经理保持多长时间?

秋千申请: - 只要应用程序正在运行,就有一个开放的实体管理器 - 每个单一操作新的实体管理器

网络应用程序: - 每个(不同)操作一个实体管理器 - 每个要求一个 - 每次一次 - 每个应用程序一个(-scope),假设应用程序是线程安全的

最好的问候

2 个答案:

答案 0 :(得分:1)

对于Swing应用程序,我会选择每个EntityManager一个动作,因为创建一个EntityManager非常便宜而你可能不希望保留由EntityManager管理的许多网友使用它(每个应用程序只有一个Session。)

对于Web应用程序,使用的典型模式是“OpenSessionInView”模式(EntityManager应用于Hibernate,但它也可以应用于{{1}},因为它们在逻辑上都提供相同的角色/功能。

更多信息: https://community.jboss.org/wiki/OpenSessionInView

希望这有帮助。

答案 1 :(得分:0)

每个请求一个实体经理应该是正常的。但是他们应该通过一些连接池来工作。