我需要帮助,我正在使用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
答案 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版本。