gpt4 book ai didi

java - 是否需要在每次查询时关闭实体管理器?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:49 25 4
gpt4 key购买 nike

我将在 1 年内使用 JPA 作为数据库框架在 Java 中开发系统。

每次查询时,我都不会关闭 EntityManager,IMO 的理解是 JPA 在执行查询后自动关闭 EntityManager

getSingleResult() or getResultList()

如果不是,那么垃圾收集会收集它并进行处理吗?

最佳答案

应用程序管理的 EntityManagers(您通过调用 emf.createEntityManager() 从 EntityManagerFactory 获得的那些)必须明确关闭。

编辑:您不必在每次查询后关闭 EM,但请确保在从创建它的方法返回之前关闭它。一种常见的方法是将 EM 嵌入到 try/catch/finally block 中,在 finally 情况下调用 em.close();

如果您在符合 Java EE 的容器中使用事务范围的 EntityManager,则 EntityManager 由容器在事务期间创建,并在事务完成时关闭。

关于java - 是否需要在每次查询时关闭实体管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25763257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com