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

민이님의 프로필 이미지
민이

작성한 질문수

실전! 스프링 데이터 JPA

예제 도메인 모델과 동작확인

지연로딩 설정 예제에서 질문입니다.

작성

·

217

4

 [지연로딩] 설정 예제 관련 질문입니다. 

기본편 강의에서는 지연로딩 설명시 member.getTeam()을 호출해도 팀에 있는 필드를 호출(member.getTeam().getName())하기 전까지는 SQL문이 호출되지 않았는데, 현재 예제에서는 member.getTeam()만 호출했는데도 SQL문이 실행되고 있는건 혹시 toString() 메서더를 호출때문인건가요?? toString()이 호출되면서 Team에 있는 뭔가가 호출했다고 인식해서 SQL문이 나간건가해서요.

감사합니다.

답변 1

1

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

안녕하세요. 민이님^^

사실 식별자를 제외한 어떤 메서드를 호출해도 다 프록시가 초기화 되어버립니다^^

왜냐하면 그 메서드 안에서 어떤 필드를 호출할지 JPA는 모르기 때문에 우선 다 초기화 해버립니다.

감사합니다.

민이님의 프로필 이미지
민이

작성한 질문수

질문하기