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')され、Booleanコンストラクターがないと言われましたRouting(Strnig, Boolean)。ないため、2 つの文字列のみを使用します。これは、グラスフィッシュから 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.3.3 にロールバックすることです (2.4 で導入された機能が不要な場合)。

于 2012-08-13T14:44:15.167 に答える