Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Consulta JPQL com Date

Galera boa noite, Tenho um Date e gostaria de saber se eu consigo fazer uma consulta no banco sem levar em consideração o time do mesmo.

Exemplo:

Instância de Date para a consulta:

Fri Jan 24 00:00:00 BRST 2018

Registro no banco:

| data_criacao | sum(valor_total) |

|2018-01-24 18:50:56 | 5050.00 |

|2018-01-24 19:10:27 | 5040.00 |

Eu gostaria de fazer uma query (JPQL) em que retorna-se a soma (valor_total) sem comparar os horários.

A query abaixo que criei está fazendo essa comparação (oque não é intenção).

BigDecimal somaValorDia = manager
        .createQuery("select sum(p.valorTotal) from Pedido p where  p.dataCriacao = :data", BigDecimal.class)
        .setParameter("data", data, TemporalType.DATE).
        getSingleResult();
1 resposta
solução!

Galera finalmente consegui com a ajuda da função DATE_FORMAT() do MYSQL.

BigDecimal somaValorDia = manager
        .createQuery("SELECT SUM(p.valorTotal) FROM Pedido p WHERE DATE_FORMAT(p.dataCriacao, '%Y-%m-%d') = DATE_FORMAT(:data, '%Y-%m-%d')",
                BigDecimal.class)
        .setParameter("data", data).getSingleResult();