Meu código vinha dando erro no console devido ao ORDER BY e ao GROUP BY. Eu tive que mudar o ORDER BY colocando a mesma função SUM que foi usada pra pegar a quantidade total de itens. Dessa forma, deu certo. Estou usando o MySQL. Minha Query ficou assim:
public List<Object[]> relatorioDeVendas(){
String jpql = "SELECT produto.nome, "
+ "SUM(item.quantidade), "
+ "MAX(pedido.data) "
+ "FROM Pedido pedido "
+ "JOIN pedido.itens item "
+ "JOIN item.produto produto "
+ "GROUP BY produto.nome "
**+ "ORDER BY SUM(item.quantidade) DESC ";**
return em.createQuery(jpql, Object[].class).getResultList();
}
Deveria funcionar sem esse SUM no Order By, ou é uma diferença comum do MySQL?