我想选择一些具有给定in但也按给定顺序的对象,如下所示:
<named-query name="getQuestionsByIds">
<query><![CDATA[from Question q where q.id in (:ids)]]></query>
</named-query>但排序方式与参数中的in相同。
例如,在mysql中,可以这样做:
SELECT * FROM table ORDER BY FIELD( id, 23, 234, 543, 23 )最好的方法是什么?
发布于 2011-01-14 21:23:05
Hibernate保留它不知道的函数,并按原样将它们传递给SQL,那么,假设您正在使用MySQL,您是否尝试过使用“ORDER BY FIELD”子句编写HQL?就像..。
select q from Question q where q.id in (:ids) ORDER BY FIELD(id, :ids)发布于 2015-09-03 19:35:25
阅读一些最新的,我希望有用的关于这个主题的信息,read this answer与相同的问题有关,但使用postgres。还有一些数据库不可知的解决方案。
https://stackoverflow.com/questions/4689914
复制相似问题