如何编写HQL查询以获取where子句中具有子元素大小的父元素?

时间:2014-01-23 04:15:22

标签: hibernate hql

我有一个父母实体说父母。父母可以有很多孩子。现在我想编写一个HQL查询来获取所有父母之间的所有父母,例如5到10之间,即基本上在范围之间。

它基本上是父母和孩子之间典型的一对多关系。

以下是父实体。

@Entity
@Table(name = "parent")
public class Parent implements Serializable {

   /** The child list. */
    @OneToMany(mappedBy = "parentId")
    private List<Child> childList;

修改1:

好的以下是正常工作

from parent p where p.childList.size >=2 and p.childList.size <=10

但是现在我还要过滤孩子的一个属性

喜欢

from parent p where p.childList.size >=2 and p.childList.size <=10 and p.childList.age < 20

我如何在HQL中执行此操作?

1 个答案:

答案 0 :(得分:0)

尝试加入HQL

select p from Parent p ,Child c where p.id=c.parent.id and c.age < 20 group by c.parent.id having count (c.parent.id) between 2 and 10