hibernate使用一个sql查询加载相关记录

时间:2016-04-12 18:47:22

标签: sql hibernate associations

我有一个包含多个列的表,在我的批处理应用程序中,我需要在这些列上聚合。

例如,

名称

年龄

邮编

加载姓名为“Steve”的所有人员,并为每个人员加载所有年龄等于此姓名为Steve的人员,并将所有具有Zip等于的人员加载到此人员名叫史蒂夫。

所以,如果我正在进行多次查询,它将看起来像

List persons = selectFromPersonsByName("Steve");
For-each (person in persons){
   List personMatchingAge = selectFromPersonByAge(person.getAge());
   List personMatchingZip = selectFromPersonByZip(person.getZip());
   // Do some complex calculations with person and personMatchingAge and personMatchingZip
}

问题 使用hibernate如何在单个查询中执行此操作,以便保存数据库往返并查询看起来很优雅。

1 个答案:

答案 0 :(得分:0)

它需要至少一个内部查询,我专注于本地编写查询然后,如果它实际可能,则基于本机查询创建一个Hibernate命名查询,如this