하얀잔디

  • 홈
  • 태그
  • 방명록
  • TIL

2025/05/19 2

fetch join vs EntityGraph

둘 다 "지연로딩(LAZY)을 우회해서 한 번에 가져오자"는 목적인데, 방식이 다름. 공통점LAZY로 설정된 필드도 미리 불러올 수 있다.실제 SQL 쿼리에서는 JOIN으로 연관 엔티티 가져옴N+1 문제를 예방하는 데 사용됨 우선 가장 큰 차이점 간단하게 한 두개 엔티티 -> entity Graph가 괜찮음 -> 복잡하면 -> fetch join. 아마 실무에서 팀이 어떻게 하느냐에 맞추면 될듯 핵심 차이 요약표 fetch join EntityGraph 사용 위치JPQL 안에서 직접 명시리포지토리 메서드 어노테이..

TIL 2025.05.19

LazyInitializationException

"서비스 잘 돌다가 갑자기 500? 뭐야, 또 DB 터졌나?" 에러 로그를 봤다. org.hibernate.LazyInitializationException: could not initialize proxy – no Session 아, 또 얘야?처음엔 이 에러가 Hibernate나 JPA의 버그인 줄 알았다. 근데 이제는 안다.내가 트랜잭션을 조절 못해서 그런 거였다.LazyInitializationException이 왜 터지는지 제대로 이해해보자 Spring Data JPA에서 @OneToMany(fetch = LAZY) 같은 관계는, 실제 DB 쿼리를 지연 실행한다.즉, 엔티티를 들고 왔지만, 관계 필드는 프록시 상태로 남겨둔다. 필요할 때 쿼리를 날리려고. @EntityclassMember { ..

TIL 2025.05.19
이전
1
다음
더보기
프로필사진

하얀잔디

  • 분류 전체보기
    • TIL
    • 코테공부

Tag

상태가 괜찮다.,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
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

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바