Объединить эквивалент в запросе Hibernate Criteria? - PullRequest
6 голосов
/ 20 мая 2010

Я хочу написать следующий запрос в качестве запроса Hibernate Criteria:

   select 
      to_char(nvl(ol.updated_datetime, ol.created_datetime), 'dd/mm/yyyy'), sum(discount_price)
   from order_line ol
   where nvl(ol.updated_datetime, ol.created_datetime) between to_date('05-may-10') and to_date('30-may-10') 
   group by to_char(nvl(ol.updated_datetime, ol.created_datetime), 'dd/mm/yyyy')

Но я не уверен, как преобразовать функцию nvl в эквивалент запроса Criteria.Я понимаю, что HQL имеет коалесцирующее выражение, но я хочу написать его как запрос Criteria.

Любой совет был бы очень признателен!

Редактировать: Если кто-то может предоставить HQL-запрос, который выполняетвыше, это может быть и моим решением.

1 Ответ

1 голос
/ 18 августа 2015

Вместо nvl() вы можете использовать coalesce(). Эта функция является стандартом SQL и, надеюсь, должна работать.

В то время, когда вы спрашивали об этом, я понимаю, что у вас, возможно, не было этой функции доступной. Билет поддержки nHibernate [NH-2711] покрывал включение функции COALESCE.

...