我一直在搜索以确定spring JPA在打开后如何关闭EntityManager连接。我已经使用@PersistenceContext将Transactional EntityManager注入到我的DAO中,这意味着spring将负责为我创建和关闭EntityManager。但是在我之前的实现中,我曾经使用spring创建并关闭了EntityManager,现在可以使用spring替换它。任何人都可以帮我理解,一旦事务结束,它是否会关闭EntityManager连接或者维护直到应用程序处理完毕?
仅供参考,我没有关闭我自己的EntityManager,假设一旦交易完成,春天将为我关闭它。我担心如果不是,它会在某些时候导致资源泄漏。
此致 Rajib
答案 0 :(得分:2)
您可能会发现this link有用。另外,根据我的理解,在使用@PersistenceContext
注释时,默认情况下,实体管理器仅在使用@Transactional
注释的方法的持续时间内附加,并在方法结束时自动关闭。 / p>