Java 嵌入式系统的Hibernate延迟加载字段
我的结构如下:Java 嵌入式系统的Hibernate延迟加载字段,java,hibernate,lazy-loading,embeddable,Java,Hibernate,Lazy Loading,Embeddable,我的结构如下: @Entity class Parent { @Id private String id; @Embedded private Child child; } @Embeddable class Child { @Column(...) private int fieldA; @Lob @Basic(fetch = FetchType.LAZY) @Column(...) private A a;
@Entity
class Parent {
@Id
private String id;
@Embedded
private Child child;
}
@Embeddable
class Child {
@Column(...)
private int fieldA;
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(...)
private A a;
}
A
是一个普通的Java类
class A {
...
}
我的问题是,从数据库加载父对象时,是否可以延迟加载子类的a
字段?我尝试使用增强器插件,但该字段仍然被热切地获取。
org.hibernate.orm.tooling
hibernate增强maven插件
${hibernate.version}
真的
真的
增强
延迟加载父类的子字段不是一个选项。我的目标是只延迟加载子类的a
字段。欢迎任何建议这似乎是一个处于休眠状态的问题。不幸的是,它仍然处于打开状态,根据本期的评论部分,它可能会在6.0版本中得到修复
根据您的用例,您可以使用关系解决此问题,或者从可嵌入实体中移出需要延迟加载的字段。您使用的是什么hibernate版本?@SternK hibernate version:5.4.6.Finali
a
a hibernate?您使用的是什么字节码提供程序?你能分享你的hibernate配置吗?不,A是一个普通的Java类,可序列化。在spring引导应用程序中使用它
<groupId>org.hibernate.orm.tooling</groupId>
<artifactId>hibernate-enhance-maven-plugin</artifactId>
<version>${hibernate.version}</version>
<executions>
<execution>
<configuration>
<failOnError>true</failOnError>
<enableLazyInitialization>true</enableLazyInitialization>
</configuration>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>