【问题标题】:Does an EntityManager hold references to detached entities?EntityManager 是否持有对分离实体的引用?
【发布时间】:2015-07-28 18:21:43
【问题描述】:

在使用 JPA (Hibernate) 时在一些内存限制下运行 我正在寻找一些关于 EntityManager 如何处理分离实体的信息,尤其是他是否保留对它们的任何强引用。

我正在搜索通用 JPA 文档以及 Hibernate 文档,但找不到任何具体信息?从我得到的 EntityManager.clear() 将分离所有实体并使它们可用于垃圾收集。这是否意味着从 EntityManager 中分离实体使其可用于垃圾收集器?如果没有,如何让 Entitymanager 管理的特定实体可用于 GC?

【问题讨论】:

    标签: hibernate jpa garbage-collection


    【解决方案1】:

    Hibernate 不引用分离的实体。如果被托管实体实例引用,它可能会被Hibernate间接引用,但是在清除会话后,就没有托管实例了。

    实际上,清除会话以释放内存是batch processing 的官方记录模式。

    【讨论】:

    • Clearning 整个 EntityManager/Hibernate 会话对我来说是不可能的(不幸的是)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 2014-04-07
    • 1970-01-01
    相关资源
    最近更新 更多