我创建了一个扩展 CrudRepository 的存储库,这个存储库有一个带有 @Query 表示法的方法:
代码:
@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 无法返回 Map,所以这就是我将结果填充到 List> 中的原因。
我不知道解决此问题或快速访问结果数据的最佳方法是什么。我试过铸造,但也没有成功:
for(Object item: items) {
Map<String,Long> castedItem = (HashMap<String,Long>)item;
}