1
resposta

JPQL com Spring Boot

Estou utilizando o @Query no meu repository, porem preciso utilizar um IF pra validar um valor nulo, tipo, se ofr traz todos se nao for traz exatamento o id que estou passando. Como uso o IF com jpql nesse @Query ?

1 resposta

Olá! Tudo bem?

Para utilizar o IF em uma consulta JPQL no Spring Boot, você pode utilizar a função CASE WHEN. Por exemplo:

@Query("SELECT e FROM Entidade e WHERE e.campo = CASE WHEN :parametro IS NULL THEN e.campo ELSE :parametro END")
List<Entidade> minhaConsulta(@Param("parametro") Tipo parametro);

Nesse exemplo, a consulta irá retornar todos os registros da entidade Entidade que possuem o valor do campo igual ao parâmetro parametro, caso ele não seja nulo. Caso o parâmetro seja nulo, a consulta irá retornar todos os registros da entidade.

Espero ter ajudado e bons estudos!