使用 Hibernate,我习惯于执行以下操作:
select n from NetworkElement n join fetch n.site s where s.active is true
但是,EclipseLink 对此有很多抱怨:
Caused by: Exception [EclipseLink-8024] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query [select n from NetworkElement n join fetch n.site s], line 1, column 49: syntax error at [s].
(栈上的查询和上面的不一样,但是结果是一样的)
我尝试了不同的组合,但都没有奏效:
select n from NetworkElement n join fetch n.site where n.site.active is true
select n from NetworkElement n join fetch n.site as site where site.active is true
我还尝试在我的域模型中切换到不同的实体,怀疑我的映射可能不正确。不过,同样的问题。
难道我只能使用查询提示来实现这一点吗?我不想那样做。
顺便说一句,我使用的是 Netbeans 6.8 和 Glassfish v3 附带的 EcliseLink。
我会很感激任何帮助!
罗德里戈