목차
엔티티 생명주기
비영속 (new/transient)
Entity 객체가 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태
- Entity 객체가 생성돼 아직 영속성 컨텍스트에 저장되기 전 상태다.
// 비영속 상태 |
영속 (managed)
Entity 객체가 현재 영속성 컨텍스트에 관리되는 상태
- 해당 객체(Entity) 에 대한 변경 작업은 영속성 컨텍스트가 관리한다.
- EntityManager Persist 메소드를 이용해 Entity 객체를 영속성 컨텍스트에 저장할 수 있다.
// 영속 상태 |
준영속 (detached)
객체가 영속성 컨텍스트에 저장돼 있다가 현재는 영속성 컨텍스트에서 분리(삭제)된 상태, 더 이상 JPA 가 관리하지 않는다.
- 영속성 컨텍스트에서 분리(삭제) 됐을 뿐이지 데이터적으로의 삭제는 일어나지 않는다.
- 해당 객체(Entity) 에 대한 변경 작업이 일어나도 영속성 컨텍스트 및 Database에 반영되지 않는다.
// 준 상태 |
삭제 (removed)
데이터 적으로 삭제된 상태
// 삭제 상태 |