영속성 컨텍스트
엔티티를 영구 저장하는 환경
영속성 컨테스트에 저장
EntityManager.persist(entity); // 1차 캐시에 저장, INSERT SQL 생성하여 쓰기 지연 SQL 저장소에 저장
엔티티 매니저를 통해서 영속성 컨텍스트에 접근
비영속
객체를 생성한 상태
Member member = new Member();
영속
em.persist(member);
준영속 상태
em.detach(member);
삭제
em.remove(member);
영속성 컨텍스트의 이점
1차 캐시
- 동일성(identity) 보장
변경 감지(Dirty Checking)
- 수정시 스냅샷을 통해 기존 엔티티와 비교하여 변경이 있는 경우 수정 쿼리 생성
지연 로딩(Lazy Loading)
flush
영속성 컨텍스트의 변경 내용을 즉시 데이터베이스에 반영
commit, query 사용시 자동 사용
'JPA > JPA' 카테고리의 다른 글
즉시 로딩과 지연 로딩 (0) | 2020.06.09 |
---|---|
양방향 매핑 예제 (0) | 2020.06.09 |
객체와 테이블 연관관계 매핑 (0) | 2020.06.09 |
엔티티 매핑 (0) | 2020.06.09 |
객체와 관계형 데이터베이스의 차이 (0) | 2020.06.09 |