HQL中的@OneToMany映射

时间:2013-10-22 13:36:32

标签: hibernate hql one-to-many

我有这种情况。想象一下,我有A级和B级。他们之间的关系是一对多的。例如,我有

// Class A
public class A {
    private Integer id;

    // some fields

    @OneToMany(name = "A_ID", targetEntity = B.class)
    private List<B> objectsB;

    // getters and setters
}

// CLass B

public class B {
   private Integer id;

   // some fields

   private Integer A_ID;
}

我想编写HQL: Query =(“从a aEntity中选择 someField ,其中aEntity.objectsB.id =:参数”);

但由于映射一个到多个A对象包含B(objectsB)列表而aEntity.objectsB.id导致错误。谁能帮我 ?

1 个答案:

答案 0 :(得分:0)

首先,你不应该在B中有一个字段A_ID。要么使关联单向,要么完全删除该字段,要么使关联双向,并添加从B到A的ManyToOne关联。

现在,要回答您的问题,您需要了解HQL连接:

select someField from A aEntity 
join aEntity.objectsB bEntity
where bEntity.id = :parameter