【发布时间】:2014-09-10 01:15:03
【问题描述】:
我正在尝试将以下查询从 sql 转换为 hibernate,但我没有运气。
select * from person order by (person_id in (1,4,7)), last_name;
id 是一些输入值的示例,这些输入值可能来自某种集合。任何帮助,将不胜感激。谢谢。
【问题讨论】:
标签: sql hibernate sql-order-by where-in
我正在尝试将以下查询从 sql 转换为 hibernate,但我没有运气。
select * from person order by (person_id in (1,4,7)), last_name;
id 是一些输入值的示例,这些输入值可能来自某种集合。任何帮助,将不胜感激。谢谢。
【问题讨论】:
标签: sql hibernate sql-order-by where-in
您可以将列表作为参数传递给查询,其余查询将相同,以下查询之一应该可以工作。
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);
【讨论】: