작성
·
217
4
기본편 강의에서는 지연로딩 설명시 member.getTeam()을 호출해도 팀에 있는 필드를 호출(member.getTeam().getName())하기 전까지는 SQL문이 호출되지 않았는데, 현재 예제에서는 member.getTeam()만 호출했는데도 SQL문이 실행되고 있는건 혹시 toString() 메서더를 호출때문인건가요?? toString()이 호출되면서 Team에 있는 뭔가가 호출했다고 인식해서 SQL문이 나간건가해서요.
감사합니다.
답변 1
1
안녕하세요. 민이님^^
사실 식별자를 제외한 어떤 메서드를 호출해도 다 프록시가 초기화 되어버립니다^^
왜냐하면 그 메서드 안에서 어떤 필드를 호출할지 JPA는 모르기 때문에 우선 다 초기화 해버립니다.
감사합니다.