我有以下设置:
@Entity(name="A")
public class A {
@OneToMany(mappedBy="aObject")
List<B> getAllB();
}
@Entity(name="C")
public class C {
@OneToMany(mappedBy="cObject")
List<B> getAllB();
}
@Entity(name="B")
public class B {
@ManyToOne
@JoinColumn(...)
public A aObject;
@ManyToOne
@JoinColumn(...)
public C cObject;
}
支持B
的表格有两个外键列,一个用于A
,另一个用于C
。它的唯一性由A
和C
的组合定义。 A
和C
都有与其关联的所有B
的吸气剂,但这并不是特别有用。我想要的是B
给定一个唯一的A
和C
。现在,我手动发出查询:
select b from B b where A=?1 and C=?2
...我将参数绑定到各自的对象。
一百万美元的问题:有没有办法通过在我的POJO中设置正确的注释和getter组合来遍历ORM,并让Hibernate在引擎盖下处理这个手动查询? /强>