Java Eclipse在正确的NamedQuery语法中显示错误
我在eclipse中遇到了一个问题,我使用createQuery可以很好地执行此查询,但是当我将所有createQuery转换为命名查询时,我遇到了以下错误: 我写这篇文章的代码部分:Java Eclipse在正确的NamedQuery语法中显示错误,java,eclipse,persistence,jboss-tools,Java,Eclipse,Persistence,Jboss Tools,我在eclipse中遇到了一个问题,我使用createQuery可以很好地执行此查询,但是当我将所有createQuery转换为命名查询时,我遇到了以下错误: 我写这篇文章的代码部分: (c.contaNumero || c.contaNumeroDigito) 是连接两个字段并将此连接与用户输入匹配 正如我所说,这是一个正确的查询,我只是认为eclipse或JBoss工具显示了一条错误消息。。。 我怎样才能解决这个问题 ----编辑---- 我刚刚找到了这个问题的答案,我在这里发布了它,但
(c.contaNumero || c.contaNumeroDigito)
是连接两个字段并将此连接与用户输入匹配
正如我所说,这是一个正确的查询,我只是认为eclipse或JBoss工具显示了一条错误消息。。。
我怎样才能解决这个问题
----编辑----
我刚刚找到了这个问题的答案,我在这里发布了它,但我只能在从今天开始的2天后接受它。WTF?|在JPQL中没有操作符。将其替换为或:出现错误的原因: 正如Ray先生所提到的,| |不是JPQL中的运算符,因此您必须将其替换为“或” 您能够运行的原因是使用会话:
Hibernate允许在select子句中使用算术运算符、连接和可识别的SQL函数:正如Ashish所说,Hibernate只允许使用像| |这样的运算符,但它不在JPQL语法中。因此,我刚刚发现使用JPQL连接它的函数是ContateFeld1,field2,如果有人和我有相同的问题。但这不是我的目标,正如我所说,我想将这两个字段连接成一个,并将输入参数与此连接匹配。关于作为一个有效的操作符,它实际上不是,但是通过Session.createQuery执行这个sql,代码按预期运行。。你甚至没有假设你可能错了:也许我错了,我只是假设我的语法是正确的,因为SQL是有效的!!!好吧,但还是不如我想象的那样有效。。。无论如何,谢谢你的回答,但我刚刚找到了我需要的,我会自己写在答案上。