• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

지연 로딩 질문드립니다.

21.01.06 04:07 작성 조회수 213

0

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

 

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

답변 3

·

답변을 작성해보세요.

0

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

감사합니다.

0

직접 실행해봤습니다.

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

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

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

0

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

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

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

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