JPQL将Concat解析为NULL

时间:2012-08-10 16:59:32

标签: java jpa eclipselink jpql

我需要帮助,我正在使用Eclipse-Link 2.4(更新版本) 我有一些带有CONCAT字符串函数的JPQL函数,我使用的是Instruccion

SELECT NEW test.Routing(r.idOperacion, CONCAT(r.reference, 'Test') ) FROM Routing r;

它更复杂,但我让JPQL有点短,这就是问题

CONCAT(r.reference, 'Test')解析为Boolean,并说没有像Routing(Strnig, Boolean)这样的构造函数,因为没有,只需要2个字符串,这是因为我从glassfish升级了我的eclipselink

1 个答案:

答案 0 :(得分:3)

您已发现EclipseLink 2.4中的错误。查询在语法上是正确的JQPL查询,它可以在EclipseLink 2.3.3中使用。

解决方法是使用FUNC调用CONCAT数据库函数:

SELECT NEW test.Routing(r.idOperacion, FUNC('CONCAT', r.reference, 'Test') ) 
FROM Routing r;

如果不需要2.4中引入的功能,那么您还可以做的就是将bug和回滚到2.3.3版本。