在hibernate 3中查询一对多关系

时间:2012-01-19 10:48:41

标签: hibernate orm spring-mvc

我在hibernate中有一对多的关系(1个用户 - >许多客户端)。它在数据库中映射为3个表,User,Client和User_Client_Mapping。

当用户登录我的应用程序时,我想 - 选择特定于此用户的客户,他们今天的生日或周年日期。出生日期/周年纪念日的选择将来自登录用户。

有关如何使用Hibernate 3实现此目的的任何指示?

我可以选择与特定用户相对应的所有客户端。 我也可以根据所有客户(所有用户)的生日/年日期选择

但是,我无法为特定用户选择客户端,然后根据birthdate / anniv日期标准选择特定客户端。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您能够同时执行这两项操作,只需合并两个查询:

选择用户的所有客户:

select c from User u inner join u.clients c 
where u.id = :id

选择具有给定birthDate的所有客户:

select c from Client c 
where c.birthDate = :birthDate

两者结合:

select c from User u inner join u.clients c 
where u.id = :id and c.birthDate = :birthDate