2014-10-22 2 views
-1

누군가 나를 도울 수 있습니까? 읽기 튜토리얼과 문서 후JPQL 다중 JOIN 쿼리

SELECT alrt.* 
FROM 
REACTION.ALERT alrt, REACTION.INVESTIGATION inv, 
REACTION.CLASSIFICATION_TYPE clst, REACTION.FRAUD_TYPE frt, 
REACTION.TRANS trns, REACTION.CARD crd 
WHERE 
    alrt.ISS_INST IN(1201, 1101) AND 
    alrt.MODULE_TYPE = 0 AND 
    0 < (SELECT COUNT(*) FROM REACTION.INVESTIGATION WHERE REACTION.INVESTIGATION.ALERT_ID = alrt.ID) AND 
    inv.CLASSIFICATION_TYPE_ID IS NOT NULL AND 
    clst.CLASSIFICATION_TYPE = 10 AND 
    (alrt.REMINDER_USER_LOGIN = 'qwr' OR alrt.REMINDER_USER_LOGIN IS NULL) AND 
    alrt.ID = inv.ALERT_ID AND 
    alrt.TRANSACTION_ID = trns.ID(+) AND inv.CLASSIFICATION_TYPE_ID = 
    clst.ID AND inv.FRAUD_TYPE_ID = frt.ID(+) AND trns.HPAN = crd.HPAN(+); 

내가 그 JPQL 쿼리 작성 : 나는 그 SQL 쿼리를 얻고 JPQL에 그것을 표현하기 위해 필요하지만, 나는 권리 문제에 직면 가입

SELECT alrt 
    FROM INVESTIGATION inv 
     JOIN inv.CLASSIFICATION_TYPE_ID clst 
     RIGHT JOIN inv.FRAUD_TYPE_ID frt 
     JOIN inv.alert_id alrt 
     RIGHT JOIN alrt.transactio_id trns 
     RIGHT JOIN trns.HPAN crd 
    WHERE 
     alrt.ISS_INST IN(1201, 1101) AND 
     alrt.MODULE_TYPE = 0 AND 0 < (SELECT COUNT(inv1) FROM INVESTIGATION inv1 WHERE inv1.ALERT_ID = alrt.ID) AND 
     inv.CLASSIFICATION_TYPE_ID IS NOT NULL AND 
     clst.CLASSIFICATION_TYPE = 2 AND 
     (alrt.REMINDER_USER_LOGIN = 'qwr' OR alrt.REMINDER_USER_LOGIN IS NULL); 

을하지만 난 있어요 오류가 발생하면 실행하십시오. 누군가 내가 잘못한 것을 말해 줄 수 있습니까? JPA 1.0 버전을 사용하는 경우

+2

오류를 게시 할 수 있습니까? – jmvivo

+0

오케이, 1 시간 동안 오류 텍스트를 추가합니다. 죄송합니다. – MeetJoeBlack

답변

0

오류는 조인 ID이지만 OR 매핑 객체는 아닙니다. 이 시도 : u는 개체 간의 매핑 관계가없는 경우에는

JOIN inv.CLASSIFICATIONTYPE(your mapping property name) clst 

는 테이블 i.o.에 가입 사용자에게 더 나은 u'd OR 매핑. JPQL에 대한 자세한 내용 읽기