假设我们有一个如下对象图:
Class A {
B b;
}
Class B {
C c;
}
Class C {
D d;
}
Class D {}
现在,当我获取对象A时,我想使用预先加载来获取B和C,使用延迟加载来获取D. 如何在JPA或Hibernate中完成这项工作?
答案 0 :(得分:2)
假设它们之间存在连接,您可以轻松地在B
和C
中使用FetchType.EAGER,在D
中使用FetchType.LAZY。
这种方式也可以通过@NamedEntityGraph
实现。
答案 1 :(得分:1)
在A中为对象B使用eager,在B中为对象C使用eager,在C中为对象D使用lazy
class A {
//eager
B b;
}
class B {
//eager
C c;
}
class C {
//lazy
D d;
}
class D {}