使用Hibernate / JPA按给定顺序通过给定id选择一组对象的最佳方法是什么

我想用给定的id选择一些对象,但也按给定的顺序选择,例如:

   

但是以与参数中的ID相同的方式排序。

例如在mysql中它可以这样做:

 SELECT * FROM table ORDER BY FIELD( id, 23, 234, 543, 23 ) 

什么是最好的方法?

Hibernate保留了它不知道的函数,并在编写时将它们传递给SQL,因此,假设您使用的是MySQL,您是否尝试使用’ORDER BY FIELD’子句编写HQL? 就像是…

 select q from Question q where q.id in (:ids) ORDER BY FIELD(id, :ids) 

阅读一些更新的,我希望有用的,关于这个主题的信息阅读这个答案与相同的问题相关但使用postgres。 还有一些数据库不可知的解决方案。