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
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
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
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!