Does hibernate convert column != null
in HQL to a column is null
in SQL?
Asked
Active
Viewed 1.3e+01k times
4 Answers
15
If you do want to use null
values with '='
or '<>'
operators you may find the
very useful.
Short example for '='
: The expression
WHERE t.field = :param
you refactor like this
WHERE ((:param is null and t.field is null) or t.field = :param)
Now you can set the parameter param
either to some non-null value or to null
:
query.setParameter("param", "Hello World"); // Works
query.setParameter("param", null); // Works also

Luis Filipe
- 8,488
- 7
- 48
- 76

Boris Brodski
- 8,425
- 4
- 40
- 55
-
1Right answer, but a bit overkill :) I do it if I have no other solutions: If there is only one or two nullable param, i find it better to make many HQL or JPQL queries. – pdem Jan 19 '17 at 11:22
1
No. See also this link Handle conditional null in HQL for tips and tricks on how to handle comparisons with both null and non-null values.