Hibernate按顺序嵌套where in子句



我正试图将以下查询从sql转换为hibernate,我没有运气。

select * from person order by (person_id in (1,4,7)), last_name;

id是一些输入值的一个例子,这些输入值可能来自某种集合。任何帮助都会很感激。谢谢。

您可以将list作为查询的参数传递,其余的查询将相同,以下查询之一应该工作

Query query = session.createQuery("from Person order by (persionId in (:ids)), lastName").setParameterList("ids", idList);

Query query = session.createQuery("from Person order by (CASE WHEN persionId in (:ids) THEN 0 ELSE 1 END), lastName").setParameterList("ids", idList);

最新更新