1

我正在使用 JPA (toplink) 并试图限制 JPQL 查询返回的行数,所以我使用Query.setMaxResults了方法,但它会引发以下错误:

Exception [TOPLINK-6121] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.QueryException
Exception Description: The query has not been defined correctly, the expression builder is missing.  For sub and parallel queries ensure the queries builder is always on the left.

这是查询:

select distinct d.deptName from Departement d join d.employees e where e.empId in (select distinct a.employee.empId from ApprovedEmpls a join a.NewEmps o)
4

1 回答 1

1

我猜如果没有 maxResults,查询也会失败?

似乎是子选择的问题,尝试删除或更改它(为什么它加入 NewEmps 而根本不使用它?)。您还可以使用本机 SQL 查询作为解决方法。

您应该考虑将 TopLink Essentials 升级到 EclipseLink (TopLink 11g)。

于 2010-12-08T13:59:02.277 回答