2011-02-21 14 views

Respuesta

31

No. Tienes que usar is null y is not null en HQL.

4

Si desea utilizar los valores null con '=' o '<>' operadores es posible que el

answer from @egallardo hier

muy útil.

ejemplo corto para '=': La expresión

WHERE t.field = :param 

que refactoriza como esto

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

Ahora se puede establecer el parámetro param ya sea a algún valor que no sea nulo o para null:

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

Respuesta correcta, pero un poco exagerada :) Lo hago si No tengo otras soluciones: si solo hay uno o dos param nulos, me parece mejor hacer muchas consultas HQL o JPQL. – pdem

Cuestiones relacionadas