如何在HQL中使用“按个别情况排序......”?

时间:2016-02-08 21:16:39

标签: java hibernate hql

我想像这样执行我的HQL查询:

Query queryPayment=sixSession.createQuery("SELECT first_name, last_name FROM Table1 WHERE first_name =:f_name or last_name=:l_name ORDER BY
   CASE WHEN first_name =:f_name THEN 0 ELSE 1 END)
        .setParameter("first_name", f_name)
        .setParameter("last_name", l_name);

但它不起作用。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

参数f_namel_name的名称。改变这个

setParameter("first_name", f_name)
.setParameter("last_name", l_name)

到这个

setParameter("f_name", f_name)
.setParameter("l_name", l_name)

您不能ORDER BY use named parameters。但你可以使用String.format()