是否可以将此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)
答案 0 :(得分:0)
我不了解CreateCriteria,但Hibernate / HQL支持COALESCE,IFNULL或ISNULL,具体取决于您在Where Where子句中的基础数据库。
您可以在方言中定义一个函数,它也应该在select子句中起作用。 我没有测试过这个
请参阅:http://www.hibernate.org/hib_docs/v3/reference/en/html/queryhql.html
答案 1 :(得分:0)
没有内置支持。但是,您可以创建自己的Order类。 Here is a good example
您可以创建一个接受任何sql字符串的类,也可以尝试创建CoalesceOrder类。