开发者

query.setMaxResults() causes problems on toplink

开发者 https://www.devze.com 2023-01-29 15:46 出处:网络
I am using JPA (toplink) and trying to restrict开发者_开发问答 the number of rows returned by a JPQL query, so I\'ve used Query.setMaxResults method, but It throws the following error:

I am using JPA (toplink) and trying to restrict开发者_开发问答 the number of rows returned by a JPQL query, so I've used Query.setMaxResults method, but It throws the following error:

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.

Here's the query:

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)


I would guess the query will fail the same without the maxResults?

Seems to be an issue with the sub-selects, try removing or changing it (why does it join NewEmps and not use it at all?). You could also use a native SQL query as a workaround.

You should consider upgrading TopLink Essentials to EclipseLink (TopLink 11g).

0

精彩评论

暂无评论...
验证码 换一张
取 消