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

chi6465618님의 프로필 이미지
chi6465618

작성한 질문수

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

변경감지 스냅샷

작성

·

257

0


1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
안녕하세요!! 강의 너무 잘 듣고 있습니다. :)
데이터베이스에서 객체를 가져와서, 변경을 하면 jpa가 변경감지를 한다고 알려 주셨는데
Member findMember = em.find(Member.class, 1L);
findMember.setName("Hello");

위 코드에서 em.find 할 때, 커밋 시점에 select를 하여 변경되기 전의 엔티티가 1차 캐시에 있는 게 아닌가요??

그러면 1차 캐시에 있는 엔티티랑 스냅샷이랑 같아서 변경감지가 일어나지 않는데,,, 어떻게 스냅샷과 엔티티가 다른지 알고 싶습니다!

 

답변 1

0

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

안녕하세요. chi6465618님

스냅샷은 em.find를 하는 시점에 원본 객체를 복사해서 내부에 만들어두게 됩니다.

그리고 findMember와 스냅샷은 다른 객체입니다.

감사합니다.

chi6465618님의 프로필 이미지
chi6465618

작성한 질문수

질문하기