HQL查询存储在地图中的一对多关系

时间:2016-06-29 16:51:10

标签: java mysql hql

我有一个包含经理和员工的数据库,其中一位经理可以拥有多名员工,也可以没有,每位员工只能拥有一名经理。有没有办法查询数据库以返回一个地图,如Map<经理,列表<员工> > ?

我知道我可以创建一个循环,一次查询一个管理员并返回他们在地图中保存的员工列表,但是,对于大型数据库,这将是非常低效的。

我知道如果我一次通过一个经理,我可以写一个外部右边的查询,例如

SELECT m.managerName, e.employeeName FROM Manager m NATURAL RIGHT OUTER JOIN employee e WHERE m.managerName = '';

但是把它放在一个循环中需要很长时间。 感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

  

有没有办法查询数据库以返回地图,例如Map<经理,列表<员工> > ?

我假设您需要一张地图来获取每位经理的员工?您是否尝试过从经理到员工的一对多映射?然后每个经理实体都有自己的员工名单。

例如 - http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/