3

次のHQLクエリのEclipseLink準拠のJPQLへの変換は何ですか?

select p from NameList list, Person p
where p.name in elements(list.names)

(これは、ここから取得したHQLサンプルクエリのバリエーションにすぎません)

EclipseLinkでは、IN関数はプロパティパスをとらないようです:

Internal Exception: NoViableAltException(36!=[693:1: inExpression[boolean not, Object left] returns [Object node] : (t= IN n= inputParameter | t= IN LEFT_ROUND_BRACKET (itemNode= inItem ( COMMA itemNode= inItem )* | subqueryNode= subquery ) RIGHT_ROUND_BRACKET );])

別の結合でこれを解決できるかもしれませんが、もっとコンパクトなものはありますか?

4

1 に答える 1

3

私は解決策を見つけました:

select p from NameList list, Person p
where p.name member of list.names

このソリューションはJPA2に準拠しています。

于 2010-05-27T18:35:24.753 に答える