【问题标题】:Hibernate EntityGraph on @Basic fields does not work as expected@Basic 字段上的 Hibernate EntityGraph 无法按预期工作
【发布时间】:2018-11-27 06:32:18
【问题描述】:

Hibernate 似乎忽略了 javax.persistence.fetchgraph 中指定的任何 @Basic 字段并始终加载整个对象,直到我们将该字段明确定义为 @Basic(fecth=LAZY)。 但是 JPA 2.1 标准说:

要指定获取图,请在执行 EntityManager.find 或查询操作时设置 javax.persistence.fetchgraph 属性。提取图仅包含在 EntityGraph 实例中明确指定的字段,并且忽略默认实体图设置

问题是我不想将所有字段默认设置为延迟加载,因为在某些特定情况下我只需要部分对象来获取 UI 的大量数据。当我可以动态指定要加载的内容时,是否有任何解决方法?

EclipseLink 按预期使用 fetchgraph。

附: Hibernate 5.3.1.Final,使用 hibernate-gradle-plugin:5.3.1.Final 进行的字节码增强:

hibernate {
    enhance {
        enableLazyInitialization= true
        enableDirtyTracking = true
        enableAssociationManagement = true
        enableExtendedEnhancement = false
    }
}

【问题讨论】:

    标签: hibernate jpa entitygraph


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2022-10-01
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      相关资源
      最近更新 更多