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

Como listar dados de um determinado dia com Spring boot?

Por exemplo, eu tenho uma entidade que possui um atributo LocalDateTime datahora o qual grava obviamente, a data e hora, todavia, quero fazer um findBydia( ...) para poder listar os registros ignorando hora minutos e segundos. Eu tentei usar @Query e dentro do select fazer TRUNC( datahora) - :datahora passei os parâmetros devidamente mas ocorre um erro.

java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List ....repository.ESRepository.findXXX(java.time.LocalDateTime)! . . . java.lang.NullPointerException: null

Gostaria de saber como pesquisar apenas por data nesse campo. Por favor.

2 respostas
solução!

Oi Marlon,

Uma alternativa seria pesquisar com between:

findByDataBetween(LocalDateTime inicio, LocalDateTime fim);
LocalDateTime inicio = LocalDate.now().atStartOfDay();
LocalDateTime fim = LocalDate.now().atTime(LocalTime.MAX);

repository.findByDataBetween(inicio, fim);

Bons estudos!

Ótima solução a sua. Vou anotá-la. Eu vi outro meio de ignorar data hora que é usar substring( campodt , 1, 10) = substring( param, 1, 10) Deu certo também. Valeu.