web-dev-qa-db-ja.com

HQL "is null"およびOracle列の "!= null"

hibernate convert column != null in [〜#〜] hql [〜#〜] to column is null in [〜#〜] sql [〜#〜]

53
Eric V

これは、使用する必要がある休止状態のバイナリ演算子です

is not null

14.10。式 をご覧ください

91
Eduard

いいえ。HQLではis nullおよびis not nullを使用する必要があります。

35
JB Nizet

'='または'<>'演算子でnull値を使用する場合は、

@ egallardo hierからの回答

非常に便利。

'='の簡単な例:式

WHERE t.field = :param

あなたはこのようにリファクタリングします

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

これで、パラメータparamをnull以外の値またはnullに設定できます。

query.setParameter("param", "Hello World"); // Works
query.setParameter("param", null);          // Works also
7
Boris Brodski

いいえ。このリンクも参照してください HQLで条件付きnullを処理する null値とnull以外の値の両方との比較を処理する方法に関するヒントやコツについては。

1
egallardo