首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring-data @Query映射结果问题

spring-data @Query映射结果问题
EN

Stack Overflow用户
提问于 2012-04-16 15:40:25
回答 2查看 5.3K关注 0票数 5

我已经创建了一个扩展CrudRepository的存储库,这个存储库有一个带有@Query符号的方法:

代码:

代码语言:javascript
复制
@Query("select itemType, count(*) as count from Item where  User_id = :userId group by itemType")
List<Map<String, Long>> countItemsForUser(@Param("userId") Long userId);

我遇到的问题是,这会返回一个对象的ArrayList,而不是Map的列表。我在某处读到JPA不能返回映射,这就是为什么我将结果填充到List>中的原因。

我不知道解决此问题或快速访问结果数据的最佳方法是什么。我试过选角,但也没成功:

代码语言:javascript
复制
for(Object item: items) {
    Map<String,Long> castedItem = (HashMap<String,Long>)item;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-16 16:21:18

在Hibernate的官方文档中查看此示例。Here

代码语言:javascript
复制
 for (Object item:items) {
   Object[] tuple = (Object[]) item;
    String itemType = (String)tuple[0];
    Long count = (Long) tuple[1];

  }
票数 4
EN

Stack Overflow用户

发布于 2020-02-17 17:41:18

最简单的方法是使用接口。让Spring wire向接口getter查询别名。示例可以在这里找到:https://www.baeldung.com/jpa-queries-custom-result-with-aggregation-functions还有@SqlResultSetMapping。请参阅:JPA- Joining two tables in non-entity class

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10170299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档