HQL按属性订单指定订单?

时间:2010-05-17 12:38:51

标签: hibernate hql

如何通过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

我错过了什么吗?还有其他方法解决这个问题吗?

由于

2 个答案:

答案 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")

Find "having clause"