2010-05-20 23 views
6

Quiero escribir la siguiente consulta como un criterio de consulta de Hibernate:Coalesce equivalente en la consulta 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') 

pero no estoy seguro de cómo convertir la función NVL a una consulta de criterios equivalentes. Me doy cuenta de que HQL tiene una expresión conjunta, pero quiero escribirlo como una consulta de criterios.

¡Cualquier consejo sería muy apreciado!

Editar: Si alguien puede proporcionar una consulta HQL que hace lo anterior que podría ser mi solución también.

Respuesta

1

En lugar de nvl(), debe poder usar coalesce(). Esta función es un estándar SQL y debería funcionar.

En el momento en que me lo había preguntado, me di cuenta de que quizás no tenía esta función disponible. nHibernate Support ticket [NH-2711] cubrió la inclusión de la función COALESCE.

Cuestiones relacionadas