0
我想要一些帮助,试图做到以下几点。我想要得到每个用户在数据库中按他的名字和id分组的购买次数。但它是非常与简单的sql相比很难做到。春天的数据JPA,结果对象有数字而不是列名
我在PurchaseRepository下面的代码扩展的所有IM的CrudRepository
@Query("SELECT p.user.name as Name,p.user.id as Id,Count(p) as Purchases from Transaction p GROUP BY p.user.id")
List<Object> purchaseNumOfEachUser();
首先不知道这是正确的查询,因为我想要做COUNT(*),但表示,其无效。
其次,当通过控制器转化成JSON我得到返回的对象是像
0:{
0:"John",
1:2, //id
2:5 //purchases
}
什么,我想获得的
0:{
"Name" : "John",
"Id" : 1 ,
"Purchases" : 2
},
1:{
....
}
任何想法?
因此,如果查询应返回purchaseInfo而不是单个purchaseInfo的名单,我应该做一个 选择新的List <新mypackage的.PurchaseInfo(p.user.name,p.user.id,Count(p))> 来自事务p GROUP BY p.user.name,p.user.id List purchaseNumOfEachUsers? –
rexxar2
不!如果你期望得到一个结果,你可以调用Query.getSingleResult(),如果你期望不止一个Query.getResultList() –
谢谢,你为我节省了很多关键时间,我会随机试验。 – rexxar2