現有2個表 Person(id,person) ,Email(id,email,person_id); 現在要查出下列樹: person01 | |_email01 | person02 | |_email02 | |_email03 | person03 |_email04 |_email05 |_email06 pojo 為 Person.java,Email.java 現在知道Email的id(ex. email01,email03,email05),要查出上圖所示的樹,應該怎么寫?
3 回答

米脂
TA貢獻1836條經驗 獲得超3個贊
方法1,hql: select * from Email e where e.id in (id1,id2,id3)
這樣得到email對象的集合List<Email> listE;
然后 Set<Person> set=new HashSet();
for(Email e:listE){
set.add(e.getPerson);
}
set是可以去除重復的。
方法2,用hql,先用這些email的id得到所有personid,然后用這些personid,查詢person對象集合。

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
你hibernate肯定有關聯吧。
通過id得到email對象,這個對象關聯person對象,而person會關聯它下面的所有email對象,這樣就行了。也就是說在hibernate里面,你只需要得到person就行了。至于它下面的email被延遲加載出來就行了。
添加回答
舉報
0/150
提交
取消