HQL “is null” And “!= null” on an Oracle column

后端 未结 4 921
春和景丽
春和景丽 2020-12-15 15:10

Does hibernate convert column != null in HQL to a column is null in SQL?

相关标签:
4条回答
  • 2020-12-15 15:26

    That is a binary operator in hibernate you should use

    is not null
    

    Have a look at 14.10. Expressions

    0 讨论(0)
  • 2020-12-15 15:31

    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
    
    0 讨论(0)
  • 2020-12-15 15:39

    No. You have to use is null and is not null in HQL.

    0 讨论(0)
  • 2020-12-15 15:44

    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.

    0 讨论(0)
提交回复
热议问题