강의

멘토링

커뮤니티

Inflearn Community Q&A

hangs09088274's profile image
hangs09088274

asked

Real-world! Spring Boot and JPA Utilization 2 - API Development and Performance Optimization

Order Lookup V3.1: Converting Entities to DTOs - Paging and Breaking Limits

지연 로딩 질문드립니다.

Written on

·

407

0

질문.  지연로딩은 연관된 엔티티를 실제로 사용할ㄸ때 쿼리가 나가는데. (member.getTeam 프록시 객체익고 member.getTeam().getName() 하면 팀 엔티티를 조회하듯이) 그래서

 

지연로딩이 일어나는 위치가 2번째줄에서 일어나는게 맞는지 질문드립니다. orderItem.getItem()(연관된 엔티티 실제로 사용) 함으로써 프록시 초기확가 일어나서 orderitem을 조회하고, 여기서 getName() 에 의해서 프록시 초기확가 되어 item 조회 쿼리가 나가는게 맞는지 질문 드립니다. 

JPAspring-bootspringjava

Answer 3

0

yh님의 프로필 이미지
yh
Instructor

orderItems 컬렉션에서 값을 꺼내는 순간 초기화 될꺼에요^^

감사합니다.

0

hangs09088274님의 프로필 이미지
hangs09088274
Questioner

직접 실행해봤습니다.

item 프록시 초기화는 예상대로 되었지만,

ordeItem이 프록시 초기화 되는 시점이 AAAAAAAAA 바로 뒤부터 시작하는군요!!.

그럼 초기화 되는 이유가 orderItem -> new OrderItemDto(orderItem)에 의해서 진행되는건가요?  

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 두잇베스트님

고기잡는 법을 알려드리기 위해서 다음과 같이 테스트를 해보시겠어요?

궁금하신 곳 위 아래에 System.out.println("======") 으로 찍어보시면 실제 SQL이 언제 실행되는지 확인할 수 있습니다. 이 SQL이 실행되는 곳이 바로 프록시가 초기화되는 지점입니다.

실행하고 결과를 남겨주세요^^

hangs09088274's profile image
hangs09088274

asked

Ask a question