我有一个包含经理和员工的数据库,其中一名经理可以拥有多名员工,也可以没有员工,而每个员工只能拥有一名经理。有没有办法查询数据库返回 Map < manager, List< employee >> 之类的 map ?
我知道我可以创建一个循环,一次查询一位经理,并返回他们的员工列表,并将其保存在 map 中,但是,对于大型数据库,这将非常低效。
我知道如果我一次通过一位经理,我可以编写一个外部右侧查询,例如
SELECT m.managerName, e.employeeName FROM Manager m NATURAL RIGHT OUTER JOIN employee e WHERE m.managerName = '';
但是将其放入循环中会花费很长时间。 感谢您的任何帮助。
最佳答案
Is there a way to query the database to return a map such as Map < manager, List< employee > > ?
我假设您需要一张 map 来获取每位经理的员工?您是否尝试过从经理到员工的一对多映射?然后每个管理实体都有自己的员工列表。
例如 - http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/
关于java - HQL查询存储在map中的一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38105719/