인프런 커뮤니티 질문&답변

박용훈님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

즉시 로딩과 지연 로딩

만약에 즉시로딩도 프록시를 가져올수 있다면?

해결된 질문

작성

·

196

0

강의를 듣다가 문득 이런 생각이 들었습니다. 

즉시 로딩을 사용할 때 N+1이 발생하는 이유가 아무래도 프록시가 아닌 실 객체를 가져오려고 하기 때문에 발생한걸로 이해 했습니다. 만약에, 즉시로딩을 할때 실 객체가 아닌 프록시 객체로 쿼리를 날릴 수 있으면 좋을 것 같습니다. 

JPA에서는 즉시 로딩할때, 프록시 기능을 사용하지 않는 건가요?

답변 2

1

박용훈님의 프로필 이미지
박용훈
질문자

넵  답변해주셔서 감사합니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 용훈님

프록시 객체로 가져오면 이미 즉시로딩이 아니겠지요^^

그래서 실무에서는 모두 지연로딩으로 설정을 해두어야 합니다.

그러면 원하시는 것 처럼 프록시 객체로 조회하게 되지요.

그리고 꼭 필요할 때만 fetch join을 사용해서 부분적으로 n+1 문제를 해결하면 됩니다.

감사합니다^^