【问题标题】:Hibernate nested where in clause in order by clauseHibernate 按子句顺序嵌套 where in 子句
【发布时间】: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


    【解决方案1】:

    您可以将列表作为参数传递给查询,其余查询将相同,以下查询之一应该可以工作。

    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);
    

    【讨论】:

    • 非常感谢!第一个建议对我不起作用,但第二个建议对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 2022-01-20
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多