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

임도현님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

페치 조인 1 - 기본

27:10 분쯤에 "정확하게 컬렉션은 프록시는 아닌데.." 관한 질문입니다.

작성

·

291

0

select t from Team t join fetch t.members m

을 할시에List<Members> 컬렉션에는 프록시들로 채워지는게 아닌가요?

디버깅을 해보고 싶지만 디버깅 하는 순간 해당 variable을 조회하기에 바로 db에서 진짜를 가져오는 것 같습니다. (Lazy임에도 불구하고)

제가 이해한바로는 위의 쿼리 실행 직후에는 List<Members>에 프록시 객체들로 채워질 것 같은데

맞나요?

아니라면 뭘 공부해보면 좋을까요..?

답변 2

1

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

안녕하세요. 임도현님

컬렉션의 경우 컬렉션 자체가 프록시 처럼 동작하는 특별한 컬렉션이 사용됩니다.

이 컬렉션의 데이터를 조회하면 해당 컬렉션이 가지고 있는 데이터들이 초기화 되는 것이지요.

그래서 디버깅 시에 해당 컬렉션의 데이터를 조회하기 때문에 초기화가 된 것입니다.

다음도 참고해주세요^^

https://www.inflearn.com/questions/503392

감사합니다.

0

임도현님의 프로필 이미지
임도현
질문자

감사합니다~~~