상세 컨텐츠

본문 제목

[JPA] 엔티티 생명 주기/영속성 컨텍스트란?

JPA

by 코코코차 2024. 5. 27. 14:12

본문

728x90

영속성 컨텍스트(persistence context)는 엔티티를 영구 저장하는 환경이다.

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

  • 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태
  • 영속(managed) : 영속성 컨텍스트에 저장된 상태
  • 준영속(detached): 영속성 컨텍스트에 저장되었다가 분리된 상태
  • 삭제(removed): 삭제된 상태

 

영속성 컨텍스트의 특징

  • 영속성 컨텍스트는 엔티티를 식별자 값(@Id로 테이블의 기본키와 매핑한 값)으로 구분한다. 따라서 영속 상태는 식별자 값이 반드시 있어야 한다.
  • 데이터베이스 저장 시기: JPA는 보통 트랜잭션을 커밋하는 순간 영속성 컨텍스트에 새로 저장된 엔티티를 데이터베이스에 반영함 (이것을 flush라고 한다)

 

참고자료: 김영한. [자바 ORM표준 JPA 프로그래밍],2015

728x90
반응형

관련글 더보기