我想像这样执行我的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);
但它不起作用。我错过了什么吗?
最佳答案
参数的名称f_name
和l_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()
放置它。