我有三个实体:
@Entity
@Table(name="a")
class A {
@Id
Long id;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "a_id")
Set<B> bs;
// ... other fields
}
@Entity
@Table(name = "b")
class B {
@Id
Long id;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "c_id")
Set<C> cs;
// ... other fields
}
@Entity
@Table(name = "c")
class C {
@Id
Long id;
// ... other fields
}
当我使用 JPA 中的 Criteria API 获取给定的 A 时,Hibernate 首先仅获取 A,然后获取每个 A、所有 B,最后获取每个 B 所有 C。
是否可以通过一次选择来强制获取,这在理论上是可能的?
最佳答案
Hibernate 不支持很好地获取多个急切集合。看看这里。
顺便说一句,您真的需要急切加载这些集合吗?
关于java - Hibernate 是否可以通过一次选择获取两层集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481083/