我在非托管(无EJB)上下文中使用JPA(Eclipselink)。
我的问题是:我应该让实体经理保持多长时间?
秋千申请: - 只要应用程序正在运行,就有一个开放的实体管理器 - 每个单一操作新的实体管理器
网络应用程序: - 每个(不同)操作一个实体管理器 - 每个要求一个 - 每次一次 - 每个应用程序一个(-scope),假设应用程序是线程安全的
最好的问候
答案 0 :(得分:1)
对于Swing应用程序,我会选择每个EntityManager
一个动作,因为创建一个EntityManager
非常便宜而你可能不希望保留由EntityManager
管理的许多网友使用它(每个应用程序只有一个Session
。)
对于Web应用程序,使用的典型模式是“OpenSessionInView”模式(EntityManager
应用于Hibernate,但它也可以应用于{{1}},因为它们在逻辑上都提供相同的角色/功能。
更多信息: https://community.jboss.org/wiki/OpenSessionInView
希望这有帮助。
答案 1 :(得分:0)
每个请求一个实体经理应该是正常的。但是他们应该通过一些连接池来工作。