java – 何时创建新的EntityManager

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

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

摇摆应用:
– 只要应用程序正在运行,就有一个开放的实体管理器
– 每个单一动作一个新的实体管理器

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

最好的祝福

最佳答案
对于Swing应用程序,我将选择每个操作一个EntityManager,因为它创建一个非常便宜,并且您可能不希望在不使用它时保留由EntityManager管理的许多实体(这是每个应用程序的One EntityManager).

对于Web应用程序,使用的典型模式是“OpenSessionInView”模式(会话应用于Hibernate但它也可以应用于EntityManager,因为两者在逻辑上提供相同的角色/功能).

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

希望这可以帮助.

转载注明原文:java – 何时创建新的EntityManager - 代码日志