2010-12-08 4 views
1

내가 JPA (상단 링크)를 사용하고 JPQL 쿼리에 의해 반환 된 행의 수를 제한하려고에 문제가 발생, 그래서 Query.setMaxResults 방법을 사용했지만, 그것은 다음과 같은 오류가 발생합니다 :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) 
+3

'setMaxResults'가 문제를 일으키는 것이 확실합니까? 작동하지 않으면 시도 했습니까? –

+0

예, 작동하지 않고 있습니다. –

답변

1

나는에서 maxResults하지 않고 동일한 실패합니다 쿼리를 추측 것?

하위 선택 문제와 관련된 것으로 보입니다. 제거하거나 변경해보십시오 (왜 NewEmps에 가입하고 전혀 사용하지 않습니까?). 또한 해결 방법으로 원시 SQL 쿼리를 사용할 수도 있습니다.

TopLink Essentials를 EclipseLink (TopLink 11g)로 업그레이드하는 것이 좋습니다.

+0

잘 작동하고 yest 대신 JOIN을 사용하는 것이 좋습니다. –