2011-02-21 19 views

risposta

76

Questo è un operatore binario in Hibernate si dovrebbe usare

is not null 

Dai un'occhiata alla 14.10. Expressions

31

No. È necessario utilizzare is null e is not null in HQL.

4

Se si vuole utilizzare null valori con '=' o '<>' operatori si può trovare il

answer from @egallardo hier

molto utile.

esempio corto per '=': L'espressione

WHERE t.field = :param 

si refactoring come questo

WHERE ((:param is null and t.field is null) or t.field = :param) 

Ora è possibile impostare il parametro param sia per qualche valore non nullo o null:

query.setParameter("param", "Hello World"); // Works 
query.setParameter("param", null);   // Works also 
+1

Risposta giusta, ma un po 'eccessivo :) Lo faccio se Non ho altre soluzioni: se c'è solo uno o due parametri nullable, trovo meglio fare molte query HQL o JPQL. – pdem

Problemi correlati