페치조인 (Fetch Join)

JPQL의 최적화를 위한 기능

페치 조인 :: = [LEFT [OUTER] | INNER ] JOIN FETCH 조인경로

엔티티 페치 조인

select m
from Member m join fetch m.team

SELECT
	M.*, T.*
FROM MEMBER M
INNER JOIN TEAM T ON M.TEAM_ID=T.ID

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/61f1fd95-f3dc-426c-979d-8c0218473ebf/스크린샷_2021-08-03_오후_9.40.10.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/576ecd6e-1d24-4de8-8a2c-b0a0767cb526/스크린샷_2021-08-03_오후_9.40.13.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d6bc9bc7-66d5-4f70-b749-4e7431c52927/스크린샷_2021-08-03_오후_9.40.16.png

컬렉션 페치 조인

select t
from Team t join fetch t.members
where t.name = '팀A'

SELECT
	T.*, M.*
FROM TEAM T
INNER JOIN MEMBER M ON T.ID=M.TEAM_ID
WHERE T.NAME = '팀A'

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e1cd459a-9fa3-4f62-93ec-16c6156446d8/스크린샷_2021-08-03_오후_9.46.59.png