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 に答える