有没有办法做这样的事情
select a from A a join fetch a.b
什么时候a.b
只存在于的某些子类A
?
我在哪里
@Entity
class A {
}
@Entity
class SubA extends A {
@OneToMany
List<B> b;
}
换句话说,a.b
只有当a instanceof SubA
它为真时,我才想获取并加入 @OneToMany 集合。
这可能吗?或者有没有更好的方法来避免集合的 n 加一选择问题?我真正想要的是阻止B
对集合中的每个进行往返 - fetch join 似乎对此很有效。
我正在使用 EclipseLink,但尽可能喜欢 JPA 标准。