HQL "is null" And "!= null" on an Oracle column
Does hibernate convert column != null
in HQL t开发者_如何学Pythono a column is null
in SQL?
That is a binary operator in hibernate you should use
is not null
Have a look at 14.10. Expressions
No. You have to use is null
and is not null
in HQL.
If you do want to use null
values with '='
or '<>'
operators you may find the
answer from @egallardo hier
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
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.
精彩评论