영속성 컨텍스트(Persistence Context)
Persistence Context
영속성 컨텍스트 : 엔티티를 영구 저장하는 환경
엔티티 매니저를 통해 영속성 컨텍스트에 접근
ex) EntityManager.persist(entity);
엔티티의 생명주기
비영속 (new/transient)
영속성 컨텍스트와 전혀 관계 없는 새로운 상태
영속 (managed)
영속성 컨텍스트에 관리되는 상태
준영속 (detached)
영속성 컨텍스트에 저장되었다가 분리된 상태
삭제 (removed)
삭제된 상태
영속성 컨텍스트의 이점
1차 캐시
동일성 보장 (identiyy)
트랜잭션을 지원하는 쓰기 지연 (transactional write-behind)
(커밋을 하는 순간 SQL문을 DB에 보낸다.)
변경 감지 (Dirty checking)
flush()
엔티티와 스냅샷 비교
UPDATE SQL생성
flush (영속성 컨텍스트의 변경내용을 DB에 반영)
commit
지연 로딩 (lazy loading)
Last updated