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

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

작성한 질문수

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

프록시

영속성 컨텍스트에 찾는 엔티티가 이미 있으면 em.getReference()를 호출해 도 실제 엔티티 반영한다는 말..

작성

·

265

0

영속성컨텍스트에 객체가 있으면 그 실제 객체를 반환하고 없으면 디비에 쿼리날려서 실제 객체를 받아온 뒤 프록시객체를 생성한다는건가요?

 

25:45

답변 1

0

안녕하세요. 김민지님, 공식 서포터즈 OMG입니다.

질문이 이해가 잘 안되지만 질문 주신 내용을 답변드리겠습니다.

영속성컨텍스트에 객체가 있으면 그 실제 객체를 반환하고 없으면 디비에 쿼리날려서 실제 객체를 받아온 뒤 
=>맞습니다 ( 강의 10분 경 설명 코드 기준 em.getReference 호출 후 , findMember.getName() 할 때)

프록시객체를 생성한다는건가요?

=> 프록시 객체는 getReference를 호출할 때 생성되어 반환합니다.

em.getReference() 구현 코드를 쫓아가면 SessionImpl의 doGetReference 에서 제네릭 타입으로 반환하는 메커니즘이 동작합니다.

 

 

감사합니다.

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

작성한 질문수

질문하기