现有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
提交
取消