JPA의 동작 원리
JPA의 동작 원리
- 영속성 컨텍스트 안에 있는 1차 캐시에 Primary Key 값을 KEY로 저장하고 commit이나 flush가 일어날 때 DB에 영구적으로 저장되며 영속성 컨텍스트는 소멸하는 방식
- JPA는 엔티티 매니저를 생성하고 CRUD 작업을 할 수 있다.
변경 감지
영속성 컨텍스트에서 값을 조회하면 해당 객체가 영속 엔티티 성질을 가진다.
그러면 조회 시 1차 캐시는 저장된 상태일 것이고, 이때 1차 캐시에 저장될 때는 스냅샷이 함께 저장된다.
값이 commit이나 flush를 통해 변경된다면 호출되는 시점에 스냅샷과 엔티티를 비교하여 변경사항이 발생하면 쓰기지연 SQL 저장소에 update 쿼리문을 날려서 이후에 DB에 반영하는 변경 감지 매커니즘을 가지고 있다.