Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse在正确的NamedQuery语法中显示错误_Java_Eclipse_Persistence_Jboss Tools - Fatal编程技术网

Java Eclipse在正确的NamedQuery语法中显示错误

Java Eclipse在正确的NamedQuery语法中显示错误,java,eclipse,persistence,jboss-tools,Java,Eclipse,Persistence,Jboss Tools,我在eclipse中遇到了一个问题,我使用createQuery可以很好地执行此查询,但是当我将所有createQuery转换为命名查询时,我遇到了以下错误: 我写这篇文章的代码部分: (c.contaNumero || c.contaNumeroDigito) 是连接两个字段并将此连接与用户输入匹配 正如我所说,这是一个正确的查询,我只是认为eclipse或JBoss工具显示了一条错误消息。。。 我怎样才能解决这个问题 ----编辑---- 我刚刚找到了这个问题的答案,我在这里发布了它,但

我在eclipse中遇到了一个问题,我使用createQuery可以很好地执行此查询,但是当我将所有createQuery转换为命名查询时,我遇到了以下错误:

我写这篇文章的代码部分:

(c.contaNumero || c.contaNumeroDigito)
是连接两个字段并将此连接与用户输入匹配

正如我所说,这是一个正确的查询,我只是认为eclipse或JBoss工具显示了一条错误消息。。。 我怎样才能解决这个问题

----编辑----


我刚刚找到了这个问题的答案,我在这里发布了它,但我只能在从今天开始的2天后接受它。WTF?

|在JPQL中没有操作符。将其替换为或:

出现错误的原因:

正如Ray先生所提到的,| |不是JPQL中的运算符,因此您必须将其替换为“或”

您能够运行的原因是使用会话:


Hibernate允许在select子句中使用算术运算符、连接和可识别的SQL函数:

正如Ashish所说,Hibernate只允许使用像| |这样的运算符,但它不在JPQL语法中。因此,我刚刚发现使用JPQL连接它的函数是ContateFeld1,field2,如果有人和我有相同的问题。

但这不是我的目标,正如我所说,我想将这两个字段连接成一个,并将输入参数与此连接匹配。关于作为一个有效的操作符,它实际上不是,但是通过Session.createQuery执行这个sql,代码按预期运行。。你甚至没有假设你可能错了:也许我错了,我只是假设我的语法是正确的,因为SQL是有效的!!!好吧,但还是不如我想象的那样有效。。。无论如何,谢谢你的回答,但我刚刚找到了我需要的,我会自己写在答案上。