2010-05-20 54 views
6

我想写以下查询Hibernate的条件查询: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函数转换为标准的查询等效。我意识到HQL有一个coalesce表达式,但我想把它写成一个Criteria查询。

任何意见将非常感激!

编辑:如果任何人都可以提供一个HQL查询,做到以上这可能是我的解决方案。

回答

1

代替nvl(),您应该可以使用coalesce()。这个函数是一个SQL标准,应该有希望工作。

当你问这个问题时,我意识到你可能没有这个功能。 nHibernate支持票[NH-2711]涵盖了COALESCE功能。