Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Falha ao converter do tipo [java.lang.Object[]] para o tipo


Sugiro criar uma classe POJO apenas para armazenar os resultados dessa consulta:
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
}

Em seguida, altere sua consulta para o seguinte:
@Query("select NEW com.mypackage.CustomerAmountResult(
            o.customer.surname, sum(o.amount)) 
        from Order as o
        group by o.customer.surname") 
List<CustomerAmountResult> findCustomersBySumOfAmount();

Graças a isso, você não precisará analisar o conjunto de resultados manualmente.