Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Konvertieren von Typ [java.lang.Object[]] in Typ fehlgeschlagen

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.