Saya akan menyarankan membuat kelas POJO hanya untuk menyimpan hasil kueri itu:
package com.mypackage;
public class CustomerAmountResult{
private String surname;
private BigDecimal amountSum;
public CustomerAmountResult(String surname, BigDecimal amountSum){
this.surname = surname;
this.amountSum = amountSum;
}
// getters / setters
}
Kemudian ubah kueri Anda menjadi berikut:
@Query("select NEW com.mypackage.CustomerAmountResult(
o.customer.surname, sum(o.amount))
from Order as o
group by o.customer.surname")
List<CustomerAmountResult> findCustomersBySumOfAmount();
Berkat itu, Anda tidak perlu menguraikan hasil yang disetel secara manual.