JPA 2 쿼리를 사용하면 문제가 생길 수 있습니다. SurveyQuestion에는 조직이있을 수 있습니다. 다음은 SurveyQuestion 내의 매핑입니다.OR 절에 이상한 동작을하는 JPA 2 쿼리
@ManyToOne(optional=true)
@JoinColumn(name="organization_key")
private Organization organization;
조직에 key라는 필드가 있습니다. 나는 단지 주어진 키를 가지고 질문을받을 해당 쿼리 다음과 같은 JPQL
SELECT q from SurveyQuestion q
where q.organization IS NULL
or q.organization.key = :organizationKey
와 TypedNamedQuery을 만들 수 있습니다. 쿼리에서 q.organization.key = : organizationKey를 제거하면 조직이없는 모든 항목을 가져 오지만 실제로는 조직이 없거나 갖고 있지 않은 항목의 조합을 반환 할 수 없습니다. 주어진 조직.
JPA2와 EclipseLink 공급자.
이 문제가 발생할 수 있습니까? http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/jpql#Feature_design –
hrm, 아마도 IS NULL 자격을 제거하면 주어진 조직의 질문을 모두 얻을 수 있습니다. 나는 둘 다 동시에 조합을 얻을 수 없다. – digitaljoel