• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

양방향 연관관계에서 지연로딩 문의드립니다.

20.06.26 13:45 작성 조회수 222

0

최근에 영한님 강의를 다시 한번 보고 있습니다.

지연로딩에서 궁금한 부분이 하나 생겼는데요.

Team 과 Member 로 양방향 연관관계를 설명해 주실 때, 

위 코드에서 Member 의 select 절이 지연로딩으로 수행되고 안되고의 기준은 1차캐쉬에 값이 있고 없고라고 말씀해 주셨는데요.

그 1차 캐쉬의 기준이 조금 궁금해졌습니다.

em.persist 로 Team 을 저장했을 때도 Team 에 대한 1차 캐쉬는 존재할테고, em.clear 이후 em.findTeam 을 했을 때도 1차 캐쉬에는 값이 생성된 시점일텐데요..

그런데 전자에서는 getMember 의 지연로딩이 발생하지 않고 후자에서만 지연로딩이 발생하는 메커니즘이 좀 궁금해졌습니다. 제가 너무 어렵게 생각하는 걸까요? ㅎㅎ 

답변 1

답변을 작성해보세요.

0

안녕하세요. 아리마님^^

전자는 내가 직접 객체를 생성했기 때문에, 이미 members 컬력션이 로딩이 되어 있는 상태입니다.

후자는 DB에서 조회할 때 team만 조회했기 때문에, 아직 members가 로딩이 안된 상태이지요^^

감사합니다.