1. 기본개념
2. 특징
//경로표현식: 상태 필드(경로탐색의 끝, 탐색 X)
String query1 = "select m.username from Member m";
//경로표현식: 단일값 연관 경로(묵시적 내부조인 발생, 탐색 O)
String query2 = "select m.team from Member m";
//경로표현식: 컬렉션값 연관 경로(묵시적 내부조인 발생, 탐색 X) => 컬렉션이어서 필드를 특정할 수 없으므로
String query3 = "select t.members from Team t";
//FROM절에서 명시적 조인을 통해 별칭을 얻고 별칭을 통해 탐색 가능
String query4 = "select m.username from Team t join t.members m";
3. 명시적 조인 vs 묵시적 조인
4. 경로표현식 탐색여부 예시
• select o.member.team from Order o -> 성공
• select t.members from Team -> 성공
• select t.members.username from Team t -> 실패
• select m.username from Team t join t.members m -> 성공
[주의] 경로탐색을 통한 묵시적 조인 사용시
- 항상 내부조인만 가능
- 외부조인이 필요할 경우 명시적 조인 사용
- 컬렉션은 경로탐색의 끝!
- 탐색이 필요할 경우 명시적 조인을 통해 별칭을 얻으면 됨
- 경로탐색은 주로 SELECT, WHERE 절에서 사용하지만 묵시적 조인으로 인해 SQL의 FROM(JOIN)절에 영향을 줌
[권장] 실무 사용시 조언
- 📌가급적 명시적 조인 사용할 것!!!
- 조인은 SQL 튜닝에 있어 중요 포인트
- 묵시적 조인의 경우 조인이 일어나는 상황을 한눈에 파악하기 어렵다는 단점(유지보수 X)