본문 바로가기
Develop Story/JPA

영속성 컨텍스트란?

by 박은유 2024. 2. 1.
반응형

영속성 컨텍스트:

'엔티티를 영구 저장하는 환경' 이라는 뜻으로, 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.

 

엔티티에는 4가지 상태가 존재한다

 

1. 비영속 : 영속성 컨텍스트와 전혀 관계까 없는 상태

2. 영속 : 영속성 컨텍스트에 저장된 상태

3. 준영속 : 영속성 컨텍스트에 저장되었다가 분리된 상태

4. 삭제 : 삭제된 상태

 

영속성 컨텍스트의 특징

 - 식별자 값

 : 영속상태는 식별자 값(@id로 테이블의 기본 키와 매핑한 값)이 반듯이 있어야 한다.

 

 - 데이터베이스 저장

 : 트랜잭션을 커밋하는 순간 데이터베이스에 반영(flush)

 

 - 장점

 1) 1차 캐시

 2) 동일성 보장

 3) 트랜잭션을 지원하는 쓰기 지연

 4) 변경 감지

 5) 지연 로딩

 

반응형

'Develop Story > JPA' 카테고리의 다른 글

JPA 개념 및 작동방식  (1) 2024.04.15
영속성 관리  (0) 2024.02.03