2016-07-08 41 views
0

我有這樣的情況下嘗試,如果他們對一些實體列表前存在查詢一些IDS:Hibernate查詢,發現如果一些entity.list.ids存在IDS

@Entity 
class Person{ 
    @ManyToMany(fetch = FetchType.EAGER) 
    List<Job> jobList; 
} 

@Entity 
class Job{ 
    @Id 
    long id; 
    //otherfields... 
} 

查詢嘗試做:

From Person p where :selectedJobIds exists in :(p.jobList.id)

所以我想找到,如果人的工作的每個Job已在ID selectedJobIds

發現它是可行的休眠或我被迫使用子查詢嘗試使用elements沒有運氣

+0

「所以我試圖找到,如果人的工作的每個職業都有ID在selectedJobIds發現」 根據您的需要查詢應該是 select job from Job job where job.id exists in :selectedJobIds

+0

@LêThọ的東西是我試圖通過選擇的作業選擇「Persons」ids – YouYou

+0

Person和Job之間的關係是ManyToMany嗎? –

回答

0

你也可以通過使用Criteria API在hibernate中執行此操作。使用Criteria對象的add()方法爲條件查詢添加限制。

例如:

Criteria cr= session.createCriteria(Job.class); 
cr.add(Restrictions.eq("id",2); 
List results= cr.list();