Подтвердить что ты не робот

HQL "имеет значение null" и "!= Null" в столбце Oracle

Включает ли hibernate преобразование column != null в HQL в column is null в SQL?

4b9b3361

Ответ 1

Это двоичный оператор в спящем режиме, вы должны использовать

is not null

Посмотрите 14.10. Выражения

Ответ 2

Нет. Вы должны использовать is null и is not null в HQL.

Ответ 3

Если вы хотите использовать значения null с операторами '=' или '<>', вы можете найти

ответ от @egallardo hier

очень полезно.

Краткий пример для '=': выражение

WHERE t.field = :param

вы так реорганизуете

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

Теперь вы можете установить параметр param либо на некоторое ненулевое значение, либо на null:

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

Ответ 4

Нет. См. Также эту ссылку Обработка условного нуля в HQL для получения советов и трюков о том, как обрабатывать сравнения с нулевыми и ненулевыми значениями.