Ich würde vorschlagen, eine POJO-Klasse zu erstellen, nur um die Ergebnisse dieser Abfrage zu speichern:
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
}
Ändern Sie dann Ihre Abfrage wie folgt:
@Query("select NEW com.mypackage.CustomerAmountResult(
o.customer.surname, sum(o.amount))
from Order as o
group by o.customer.surname")
List<CustomerAmountResult> findCustomersBySumOfAmount();
Dadurch müssen Sie die Ergebnismenge nicht manuell parsen.