我有一个eclipse的问题,我有这个查询使用createQuery工作正常,但因为我将所有“createQuery”转换为命名查询我得到此错误:
我写这篇文章的部分代码:
(c.contaNumero || c.contaNumeroDigito)
是连接两个字段并将此串联与用户输入匹配。
正如我所说,这是一个正确的查询,我只是认为eclipse或JBoss工具显示不正确的错误消息... 我该如何解决这个问题?
------- ------- EDIT
我刚刚找到答案,我在这里发布但我只能在今天2天后接受它(WTF?)。
答案 0 :(得分:0)
||在JPQL中不是运算符。将其替换为OR:http://docs.oracle.com/cd/E11035_01/kodo41/full/html/ejb3_langref.html#ejb3_langref_operators
答案 1 :(得分:0)
为什么你有错误:
正如雷先生||
提到的那样,JPQL
中不是运营商,因此您必须将其替换为'或'
为什么你能够运行会话:
Hibernate允许use arithmetic operators, concatenation, and recognized SQL functions in the select clause:
mentioned here
答案 2 :(得分:0)
正如“Ashish”所说,hibernate只允许使用像“||”这样的运算符,但它不是在JPQL语法上。所以我发现使用JPQL连接它的函数是CONTATENATE(feld1,field2),如果有人和我有同样的问题。