我有一个班级
public class Human{
@OneToMany
private List<Pets> myPets;
//other fields here.
}
是否有可能查询人类并获得拥有最多宠物的人类?可以Hibernate / HQL这样做,还是我必须手动获取所有人类并查询它们包含的宠物列表?如果是这样的话?
答案 0 :(得分:2)
HQL允许您按如下方式查询列表的大小:
select max(h.myPets.size) from Human h
因此,您可以将此作为内部语句来查找pet.size等于max的人类对象:
from Human h where h.myPets.size = (select max(h2.myPets.size) from Human h2)