back-end dev/JPA
영속성 컨텍스트 (Persistence Context)
초록꼬마
2023. 5. 28. 08:43
🌿 의미
- 엔티티를 영구 저장하는 환경
- 엔티티 매니저(EntityManager, 엔티티를 관리하는 객체)로 엔티티를 저장/조회 → 엔티티 매니저는 영속성 컨텍스트에 접근 + 엔티티 보관/관리
EntityManager의 역할
- 영속성 컨텍스트에 접근하기 위한 수단으로 사용됨
- 데이터베이스에 접근해서 CRUD 작업 수행
- 엔티티를 영속성 컨텍스트에 추가해서 영속 객체로 만듦
- 영속성 컨텍스트와 데이터베이스를 비교하며 실제 데이터베이스를 대상으로 작업 수행
🌿 기능
- 애플리케이션과 데이터베이스 사이에서 엔티티와 레코드의 괴리를 해소
- 객체 보관
🌿 특징
- 세션 단위의 생명주기를 가짐
🌿 용어
🌱 영속 객체 (Persistence Object)
- 엔티티 객체가 영속성 컨텍스트에 들어와 JPA의 관리 대상이 되는 시점부터 해당 객체를 부르는 말
🌱 엔티티의 생명주기
- 비영속 (New, Transient)
- 영속 (Managed)
- 준영속 (Detached)
- 삭제 (Removed)