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