티스토리 뷰

dev_공부일지/JPA 기본

패치 조인

dev_0hoon 2024. 2. 22. 15:30

인프런 - 김영한 JPA 강의 중

 

인프런 - 김영한 강의 중

 

인프런 - 김영한 JPA 강의 중

            String query = "select m from Member m ";

            List<Member> resultList = em.createQuery(query,Member.class).getResultList();

            for (Member o : resultList) {
                System.out.println("Member " + o.getTeam().getName());
            }

만약 위의 코드처럼 날렸을 경우 TEAM이 지연로딩으로 되어있을 경우 필요할 때마다 쿼리를 날리게 된다. 같은 team이라면 1번에 1차캐시로 소화되어 문제가 없겠지만 100개의 다른팀으로 표시 된다면 트래픽이 많이 발생할 것이다. 이럴경우 join fetch를 사용해야 한다.

 

            String query = "select m from Member m join fetch m.team";

            List<Member> resultList = em.createQuery(query,Member.class).getResultList();

            for (Member o : resultList) {
                System.out.println("Member " + o.getTeam().getName());
            }

 

join fetch

 

인프런 - 김영한 JPA 강의 중

 

인프런 - 김영한 JPA 강의 중

 

인프런 - 김영한 JPA 강의 중

 

 

일반 조인과 페치 조인의 차이

일반 조인

일반 조인은 from 절의 주 테이블의 필드값만 가져오지만 페치조인은 조인 된 테이블의 필드 값도 함께 가져온다.

 

인프런 - 김영한 JPA 강의 중
인프런 - 김영한 JPA 강의 중

'dev_공부일지 > JPA 기본' 카테고리의 다른 글

다형성 쿼리  (0) 2024.02.22
페치조인의 한계 (페이징 @BatchSize 이용)  (0) 2024.02.22
JPQL 기본 함수 , @OrderColumn  (0) 2024.02.20
JPQL case식  (0) 2024.02.20
Jpql 타입 표현 enum 사용, Object[] 이용 예시  (0) 2024.02.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함