2

我有一堂课

public class Human{

  @OneToMany
  private List<Pets> myPets;
  //other fields here.
}

是否可以查询人类类别并获得宠物数量最多的人类?Hibernate/HQL 可以做到这一点还是我必须手动获取所有人类并查询它们包含的宠物列表?如果是这样怎么办?

4

1 回答 1

2

HQL 允许您查询列表的大小,如下所示:

select max(h.myPets.size) from Human h

因此,您可以将其用作内部语句来查找 pet.size 等于最大值的人类对象:

from Human h where h.myPets.size = (select max(h2.myPets.size) from Human h2)
于 2013-04-23T12:24:12.233 回答