• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

지연 로딩 프록시 객체

23.02.09 19:09 작성 조회수 306

2

안녕하세요^^
먼저 20만 수강생 축하드립니다. 영한님

 

JPA 복습 중에 질문드립니다.

 

지연로딩 설정시 프록시 객체를 조회하게 되는데

애플리케이션에서 실제 엔티티의 데이터가 필요하면 그때 프록시가 실제 엔티티를 호출하여 쿼리가 발생하는 것으로 이해하고 있습니다.

제가 이해한게 맞을까요?

 

그리고 한번 지연 로딩으로 설정되었기 때문

실제 엔티티를 사용하고 다시 한번 해당 클래스를 호출 해도 프록시 객체가 호출되는것이 맞는건가요?

System.out.println("실제로 Team 엔티티를 사용하면?");
findMember.getTeam().getName();
System.out.println("후 findMember.getTeam()="+ findMember.getTeam().getClass());

 

감사합니다.^^

답변 1

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2023.02.10

안녕하세요, 개발하는쿼카 님. 공식 서포터즈 y2gcoder 입니다.

네 맞습니다. 영속성 컨텍스트는 한 번 프록시로 호출한 객체는 같은 트랜잭션 내에서 다시 조회하면 해당 프록시 객체를 반환합니다.

자세한 설명은 다음 링크를 참고해주세요!

https://tecoble.techcourse.co.kr/post/2022-10-17-jpa-hibernate-proxy/



감사합니다.

감사합니다^^

y2gcoder님의 프로필

y2gcoder

2023.02.13

파이팅입니다!