1
以下JPQL查询,而不问题上运行:JPQL: “where” 子句中的 “案例” 变量
SELECT t, CASE WHEN (e.language.language = 'en' AND e.language.country = 'GB' AND e.language.variant = '') THEN e.text ELSE '' END sortProperty FROM Glossary g JOIN g.terms t JOIN t.expressions e ORDER BY sortProperty
,而下面的失败:
SELECT t, CASE WHEN (e.language.language = 'en' AND e.language.country = 'GB' AND e.language.variant = '') THEN e.text ELSE '' END sortProperty FROM Glossary g JOIN g.terms t JOIN t.expressions e WHERE sortProperty = 'asdf' ORDER BY sortProperty
与此异常:
Caused by: java.lang.IllegalArgumentException: Invalid unbound variable "sortproperty" in query.
这是查询语法的一个限制,可以以某种方式绕过(可能使用Criteria API)?
感谢和问候, 帕斯卡
你确定你没有忘记使用setParameter(“sortproperty”,sortproperty)?? –
@sabujhassan Thx为您的回应。 sortProperty虽然不是一个参数,但是是一个结果变量。 –