4

我需要帮助,我正在使用 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')为 aBoolean并说没有像这样的构造函数,Routing(Strnig, Boolean)因为没有,只取 2 个字符串,这是因为我已经从 glassfish 升级了我的 eclipselink。

4

1 回答 1

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 中引入的功能,您可以做的其他事情是提交错误并回滚到 2.3.3 版本。

于 2012-08-13T14:44:15.167 回答