Spring 通过弹簧关闭实体管理器

Spring 通过弹簧关闭实体管理器,spring,spring-jdbc,Spring,Spring Jdbc,我一直在搜索SpringJPA如何在打开EntityManager连接后关闭它。我已经使用@PersistenceContext将事务性EntityManager注入到我的DAO中,这意味着spring将为我创建和关闭EntityManager。然而,在我以前的实现中,我使用DAOs创建并关闭EntityManager,现在使用spring替换了它。有谁能帮我理解一下,spring是在事务结束后关闭EntityManager连接,还是在处理应用程序之前一直保持连接 仅供参考,我不会关闭我自己的E

我一直在搜索SpringJPA如何在打开EntityManager连接后关闭它。我已经使用@PersistenceContext将事务性EntityManager注入到我的DAO中,这意味着spring将为我创建和关闭EntityManager。然而,在我以前的实现中,我使用DAOs创建并关闭EntityManager,现在使用spring替换了它。有谁能帮我理解一下,spring是在事务结束后关闭EntityManager连接,还是在处理应用程序之前一直保持连接

仅供参考,我不会关闭我自己的EntityManager,假设spring会在交易结束后为我关闭它。我担心如果不这样做,在某个时候会导致资源泄漏

问候
拉吉布

你可能会发现它很有用。另外,据我所知,在使用
@PersistenceContext
注释时,默认情况下,实体管理器仅在使用
@Transactional
注释的方法期间附加,并在方法结束时自动关闭。

Hey@Rajib。我实际上面对的是你提到的那种状态。我没有关闭
EntityManager
,让
spring
@Transactional
完成它。似乎(在对一些
堆转储进行初始化后)会导致内存泄漏。查看我的问题[.您是否找到了一些
最佳实践
来处理
EntityManager
Spring