NHibernate COALESCE - PullRequest
       3

NHibernate COALESCE

0 голосов
/ 27 мая 2009

Можно ли перевести этот sql-оператор в CreateCriteria, а во-вторых, NHibernate имеет дело с ORDER BY COALESCE?

SELECT obs1.OBSLOPNR, obs1.LOKALLOPNR, obs2.OBSLOPNR, obs2.LOKALLOPNR
FROM
   (SELECT * FROM OBS WHERE OBS.LOKALLOPNR = 9) AS obs1 
FULL OUTER JOIN
   (SELECT * FROM OBS WHERE OBS.LOKALLOPNR = 8) AS obs2 
ON obs1.ARTLOPNR = obs2.ARTLOPNR
ORDER BY COALESCE(obs1.OBSLOPNR, obs2.OBSLOPNR)

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Нет встроенной поддержки. Однако вы можете создать свой собственный класс Order. Вот хороший пример .

Вы можете либо создать класс, который принимает любую строку SQL, либо вы можете попробовать создать класс CoalesceOrder.

0 голосов
/ 27 октября 2009

Я не знаю о CreateCriteria, но Hibernate / HQL поддерживает COALESCE, IFNULL или ISNULL, в зависимости от вашей базы данных только в предложении Where.

Вы можете определить функцию на диалекте, и она также должна работать в предложении выбора. Я не проверял это

См .: http://www.hibernate.org/hib_docs/v3/reference/en/html/queryhql.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...