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

Sugestão JPA

Seria interessante atualizar este curso informando que é possível utilizar o seguinte trecho de JPA para fazer um WHERE mais simples:

where (:nome IS NULL OR p.nome = :nome) AND (:VARIAVEL IS NULL OR p.VARIAVEL = :VARIAVEL) AND .... e por aí vai

4 respostas

Mas aí, se, por exemplo, o nome for especificado, a query vai retornar os registros que sejam iguais ao que foi passado, bem como aqueles que são nulos, não?

pelo que eu uso aqui no trabalho, esse IS NULL é usado pela JPA para trazer tudo caso o atributo seja nulo, veja que o IS NULL se refere ao :nome e não ao p.nome

(:nome IS NULL OR p.nome = :nome)

isso significa:

se :nome for nulo, ignora o p.nome = :nome, se não, adiciona o p.nome = :nome na querie

solução!

Ah, verdade. Não tinha repadado que era

:nome IS NULL

ao invés de

p.nome IS NULL

De qualquer forma, não sabia que isso existia. Valeu pela dica. Vou testar depois.

valeu! muito obrigado pela atenção!