Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile convertire dal tipo [java.lang.Object[]] al tipo

Suggerirei di creare una classe POJO solo per memorizzare i risultati di quella query:

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
}

Quindi cambia la tua query come segue:

@Query("select NEW com.mypackage.CustomerAmountResult(
            o.customer.surname, sum(o.amount)) 
        from Order as o
        group by o.customer.surname") 
List<CustomerAmountResult> findCustomersBySumOfAmount();

Grazie a ciò non sarà necessario analizzare manualmente il set di risultati.