Mysql
 sql >> Base de données >  >> RDS >> Mysql

Échec de la conversion du type [java.lang.Object[]] en type

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.