🔙뒤로가기

페치 조인(Fetch Join)이란?

페치 조인의 목적

엔티티 페치 조인

JPQL 쿼리에서 FETCH 키워드를 사용하여 적용할 수 있다.

SLEECT m FROM Member m JOIN FETCH m.team
// Member 엔티티와 연관된 Team 엔티티를 한 번의 쿼리로 조회한다.

SQL 쿼리는 다음과 같다.

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

Untitled

페치 조인 사용 코드

String jpql = "select m from Member m join fetch m.team";
List<Member> members = em.createQuery(jpql, Member.class)
												 .getResultList();
for (Member member : members) {
	//페치 조인으로 회원과 팀을 함께 조회해서 지연 로딩X
	System.out.println("username = " + member.getUsername() + ", " +
											"teamName = " + member.getTeam().name()); 
}

실행 로그