인프런 커뮤니티 질문&답변
변경감지 스냅샷
작성
·
318
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와 스냅샷은 다른 객체입니다.
감사합니다.





