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

该解决方案符合 JPA 2。

于 2010-05-27T18:35:24.753 回答