如何通过HQL中的特定属性订单进行订购?
对于MySQL我可以使用:SELECT * FROM question q ORDER BY q.status IN ("DONE", "NO_ACTION"), q.status IN ("NEW","SAVED"), q.created DESC
但是HQL不允许in
中的order by
。
我错过了什么吗?还有其他方法解决这个问题吗?
由于
答案 0 :(得分:0)
在我看来,使用ORDER BY xxx IN(XXX,XXX ...)的MySQL语法不是SQL-ANSI支持的函数,它是一个特定的MySQL函数。
因此,如果不使用此功能,你应该想出另一种方法来做你想做的事。
您可以找到here HQL支持的所有功能。
答案 1 :(得分:0)
不要复活一个死的问题,但是
SELECT * FROM question q ORDER BY q.status IN ("DONE", "NO_ACTION"), q.status HAVING q.status IN ("NEW", "SAVED")