
这与CDI无关。EntityManager的生命周期取决于其类型,可以是:
- 容器管理的交易,
- 容器管理扩展
- 应用程序管理。
前两个仅在功能完善的应用程序服务器中可用。因此,如果您要坚持使用servlet容器,则可以选择第3个选项。
您将必须在应用程序中显式打开和关闭EM。这很简单:创建EntityManagerFactory的应用程序范围的实例,然后将其注入所有bean。当您需要EM时,只需创建它,即可使用它,然后立即关闭,而无需等待bean的上下文结束。因为在此配置中,打开的EntityManager将保留连接,而对于寿命长的bean,您将用尽连接。您可以在ObjectDB手册的“
获取JPA数据库连接”
部分中找到简单而全面的解释。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)