如何将地图作为 jpa 查询返回?

Posted

技术标签:

【中文标题】如何将地图作为 jpa 查询返回?【英文标题】:how can i return map as jpa query? 【发布时间】:2017-08-31 16:58:19 【问题描述】:

我有问题。 如何在 jpa 中将地图作为查询返回?

Map<string, User> userMap = em.createQuery("select new map(u.id, *) 
from user u"

我想将地图作为查询返回,但我不知道该怎么做。 而且我不想使用迭代列表返回地图。如下所示How to return HashMap from JPA query? 有人能帮我吗 ? 提前谢谢你。

【问题讨论】:

你不能。您可以返回键/值,然后自己将它们放入 Map ... aka trivial With Hibernate, how can I query a table and return a hashmap with key value pair id>name?的可能重复 你做得对,只是这个 HQL 将返回地图列表,例如。 List&lt;Map&lt;Integer, String&gt;&gt; @NeilStockton Thakyou 寻求答案。顺便说一句,这在hibernate中是不可能的,而不是在jpa中? @Amogh 谢谢你的回答。这只能用作列表吗?这不可能使用 hashmap 吗? 【参考方案1】:

你必须至少制作一个地图列表,这意味着列表不能映射到单个地图。

【讨论】:

以上是关于如何将地图作为 jpa 查询返回?的主要内容,如果未能解决你的问题,请参考以下文章

处理 JPA 规范和 spring-data-jpa 时如何使用声明 Stream 作为返回类型

JPA:如何将原生查询结果集转换为 POJO 类集合

如何使用 JpaRepository 从 xml 中的命名本机查询返回 Map 作为结果

如何计算子查询返回的行数?

如何在JPA Criteria查询API中编写自定义查询作为根?

Spring Data JPA:查询如何返回非实体对象或对象列表?