2010-05-27 83 views
3

什麼是下面的HQL查詢的EclipseLink兼容JPQL翻譯:HQL到JPQL問題

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

(這只是一個從here採取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);]) 

我或許可以用另一種加入解決這個問題,但有更多的東西緊湊?

回答

3

我發現瞭解決方案:

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

該解決方案是JPA 2兼容。