티스토리 뷰



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



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

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


'dev > JPA 기본' 카테고리의 다른 글
다형성 쿼리 (0) | 2024.02.22 |
---|---|
페치조인의 한계 (페이징 @BatchSize 이용) (1) | 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
링크
TAG
- 향해99
- BindingResult
- reject
- 향해플러스백엔드
- 로그인
- JPA
- React
- filter
- 예외처리
- thymleaf
- 항해플러스
- jpa api
- 컨트
- 백엔드 개발자 역량
- Intercepter
- exception
- 백엔드 개발자 공부
- 리터럴
- 향해플러스
- 스프링공부
- 인터셉터
- react실행
- HTTP
- rejectValue
- SpringBoot
- Java
- ArgumentResolver
- hypertexttransferprotocol
- 스프링부트
- 항해99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함