java - HQL查询存储在map中的一对多关系

标签 java mysql hql

我有一个包含经理和员工的数据库,其中一名经理可以拥有多名员工,也可以没有员工,而每个员工只能拥有一名经理。有没有办法查询数据库返回 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/

相关文章:

java.lang.instrument.Instrumentation 未给出预期结果

java - 使用循环算法来计算所需时间

javascript - Node.js MySQL 连接问题

java - 参数值 [1] 与预期类型 [java.lang.Boolean] 不匹配

java - HQL 查询从错误的类中获取属性

java - clazz.getDeclaredFields() 返回 Set 而不是 Set 中的 Class

java - 如何使用 getRGB 设置新颜色

php - Jquery 自动完成与 mysql UTF8 不起作用

javascript - 通过ajax向数据库发出持续请求的有效方法是什么?

java - 执行hql查询时出错