작성
·
301
0
선생님, 설명하기에 앞서 제가 생각하는 부분이 잘못 된 곳이 있다면, 정정 부탁드립니다...
제가 알기로는 테이블을 조인 할때 무슨 조건으로 조인할지를 정하는 on 절은 필수인 것으로 알고 있습니다.
예를 들어 아래와 같은 sql 은 join 에 대한 on 절이 없기 때문에
에러가 발생한다고 생각합니다.(실제로도 테스트 해보니 에러가 발생하였습니다.)
그렇지만, 아래에 코드처럼 연관관계로 조인을 하면, 에러가 발생하지 않습니다. 실제 데이터 베이스 쿼리를 확인해 보니, on 절 자동으로 추가가 되더군요.
jpa 에서는 연관관계로 조인을 하면 자동으로 외래키와 매칭되는 테이블의 pk 를 찾아서 on 절을 설정해주는 것 같은데
제 생각이 맞나요.?
답변 1
2
안녕하세요. 햇병아리님
맞습니다^^ 왜냐하면 객체의 연관관계가 테이블에서는 fk pk를 조인하는 것이니까요^^
JPQL은 객체를 조인하는 것이고, 그게 테이블 입장에서는 fk, pk를 조인하는 것이 됩니다.
감사합니다.