Java spring数据@Query映射结果问题
我创建了一个扩展Crudepository的存储库, 此存储库有一个带有@Query符号的方法: 代码:Java spring数据@Query映射结果问题,java,spring,spring-data,Java,Spring,Spring Data,我创建了一个扩展Crudepository的存储库, 此存储库有一个带有@Query符号的方法: 代码: @Query(“选择itemType,count(*)作为User_id=:userId按itemType分组的项的计数”) 列出countItemsForUser(@Param(“userId”)长userId); 我遇到的问题是,这将返回对象的ArrayList,而不是映射列表。 我在某个地方读到JPA无法返回地图,因此我将结果填入列表> 我不知道解决这个问题或快速访问结果数据的最佳方
@Query(“选择itemType,count(*)作为User_id=:userId按itemType分组的项的计数”)
列出countItemsForUser(@Param(“userId”)长userId);
我遇到的问题是,这将返回对象的ArrayList,而不是映射列表。
我在某个地方读到JPA无法返回地图,因此我将结果填入列表>
我不知道解决这个问题或快速访问结果数据的最佳方法是什么。
我试过选角,但也没有成功:
for(Object item: items) {
Map<String,Long> castedItem = (HashMap<String,Long>)item;
}
for(对象项:项){
Map castedItem=(HashMap)项;
}
请参见Hibernate官方文档中的此示例
最简单的方法是使用接口。让Spring wire查询别名 到接口getter。可在此处找到示例: 还有@SqlResultSetMapping。见:
item,循环中的对象类型没有方法getString?
for(Object item: items) {
Map<String,Long> castedItem = (HashMap<String,Long>)item;
}
for (Object item:items) {
Object[] tuple = (Object[]) item;
String itemType = (String)tuple[0];
Long count = (Long) tuple[1];
}