Je suggérerais de créer une classe POJO juste pour stocker les résultats de cette requête :
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
}
Modifiez ensuite votre requête comme suit :
@Query("select NEW com.mypackage.CustomerAmountResult(
o.customer.surname, sum(o.amount))
from Order as o
group by o.customer.surname")
List<CustomerAmountResult> findCustomersBySumOfAmount();
Grâce à cela, vous n'aurez pas besoin d'analyser manuellement le jeu de résultats.