2013-04-23 48 views
2

裏面我有一個類Hibernate查詢列表中的對象

public class Human{ 

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

是否是可以查詢的人的類數最多的寵物獲得人類?可以休眠/ HQL做到這一點,或者我必須手動獲取它們包含的所有人類和查詢列表?如果是的話如何?

回答

2

HQL允許您在一個列表的大小查詢,如下所示:

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

可以因此用它作爲內部語句找出人類對象(S),其pet.size等於最大:

from Human h where h.myPets.size = (select max(h2.myPets.size) from Human h2) 
+0

我想要做的是讓人類寵物最高。 – user962206 2013-04-23 12:26:38

+0

你可以解釋我們的代碼,它終於奏效了,但是一點解釋不會傷害 – user962206 2013-04-23 12:29:00

+0

當然,我會用一個簡短的解釋來編輯帖子。 – StuPointerException 2013-04-23 12:31:18