【问题标题】:JPA: when is a container-managed entity manager cleared or closed?JPA:容器管理的实体管理器何时被清除或关闭?
【发布时间】:2019-03-16 21:54:12
【问题描述】:

应用程序管理 场景中,如果实体管理器将处于活动状态一段时间,则必须手动清除它,否则实体将堆积并可能占用大量内存。但是对于 容器管理 应用程序,持久性上下文何时被清除或关闭?我在这里看到有人声称交易结束时它总是被清除:

https://en.wikibooks.org/wiki/Java_Persistence/Persisting#Clear

“对于 JTA 管理的 EntityManagers,持久性上下文会在每个 JTA 事务边界上自动清除。”

...但我无法找到此声明的来源。

【问题讨论】:

    标签: java jpa ejb jta


    【解决方案1】:

    如果您想查看声明的来源,JPA specification 是您可以获得的最佳来源。这里声明:

    JTA 事务完成后(通过事务提交 或回滚),容器通过调用关闭实体管理器 EntityManager.close。

    这是第 357 页,在“容器责任”部分下。

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 1970-01-01
      • 2023-02-08
      • 2016-02-10
      • 2015-12-12
      • 2015-06-22
      • 2014-09-06
      • 1970-01-01
      • 2014-07-22
      相关资源
      最近更新 更多