Критерии гибернации: почему нет Subqueries.isNull (DetachedCriteria)? - PullRequest
3 голосов
/ 01 июня 2011

Я хочу перевести такой скрипт в критерии:

SELECT ...
FROM A
WHERE 
  A.some_date > (select bdate from B where ...)
  OR (select bdate from B where ...) IS NULL

Таким образом, A должен быть возвращен, если либо A.Some_date> B.bdate, либо если B.bdate имеет значение NULL.

Я ожидал, что будет Subqueries.notNull(DetachedCriteria) (как, например, SubQueries.notExists(DetachedCriteria)), но этот метод не существует, и я не нашел что-то еще, чтобы осуществить это.

Конечно, я мог бы обойти это, вернув счетчик и проверив, если это> 0 или около того, но тогда мне нужно написать 2 идентичных (кроме проекции) DetachedCriteria.

Кто-нибудь знает, имеет ли / как проверку NULL на вышеуказанный случай или почему это не предусмотрено в API критериев Hibernate? Возможно, есть веская причина ...

1 Ответ

0 голосов
/ 02 июня 2011

Я думаю

Subqueries.eq(null, yourDetachedCriteria)

должно работать.

...