Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

O relatório não está somando os pedidos

Olá a todos!

Resolvi variar um pouco e lancei 3 pedidos no banco, conforme as seguintes quantidades:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeFiz todo o restante do código de acordo com o que foi passado em aula, porém o relatório não fez a soma agrupada dos itens:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeComo se vê, os itens se repetem e apenas refletem as quantidades separadas de cada pedido, não sendo feita a soma.

Alguém mais passou por essa situação?

Qual seria a causa?

Existe algum meio de resolver?

5 respostas

Oi Fabiano,

Dá uma conferida no seu código, pois simulei aqui e veio certinho:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obrigado, Rodrigo!

Se eu faço a JPQL igual à que você fez, o resultado é o mesmo.

O problema é quando eu tento fazer o ORDER BY.

Se eu adiciono a linha de ORDER BY no final da query, ele retorna com Exception:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeUma solução "paliativa", sugerida em outro tópico, é adicionar ao GROUP BY o elemento ", item.quantidade". Porém, o resultado é justamente o que eu apontei na primeira postagem:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Consegui resolver!

Segui a sugestão de um outro post [ https://cursos.alura.com.br/forum/topico-observacao-quanto-a-aula-2-java-e-jpa-154710 ] e fiz o seguinte:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade O resultado veio certinho:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeNão sei exatamente o porquê, mas funcionou!

Você pode explicar por que o "ORDER BY SUM(item.quantidade) DESC" eliminou a Exception e retornou o resultado correto?

De qualquer forma, muito obrigado novamente, Rodrigo e toda a comunidade Alura!

Oi Fabiano,

Na verdade foi um vacilo meu durante a aula mesmo, pois o ORDER BY que utilizei no curso foi item.quantidade, mas na clausula SELECT não tem essa coluna e sim o SUM dela. Com isso ocorre um erro dependendo dos registros que tiver no banco. É uma restrição do SQL.

Bons estudos!

Entendi, Rodrigo!

Obrigado novamente e até a próxima!