如何在不发出查询的情况下遍历Hibernate中的两个关系?

时间:2014-01-09 15:57:01

标签: java sql hibernate annotations pojo

我有以下设置:

@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。它的唯一性由AC的组合定义。 AC都有与其关联的所有B的吸气剂,但这并不是特别有用。我想要的是B给定一个唯一的AC。现在,我手动发出查询:

select b from B b where A=?1 and C=?2

...我将参数绑定到各自的对象。

一百万美元的问题:有没有办法通过在我的POJO中设置正确的注释和getter组合来遍历ORM,并让Hibernate在引擎盖下处理这个手动查询? /强>

0 个答案:

没有答案