공부흔적/JPA
영속성 컨텍스트 초기화(clear)와 종료(close), 비영속과 준영속
주디 𝙹𝚞𝚍𝚢
2021. 4. 6. 11:13
초기화 : 영속성 컨텍스트의 1차 캐시, 쓰기 지연 SQL저장소가 비워진다.
종료 : 영속성 컨텍스트의 1차 캐시, 쓰기 지연 SQL저장소도 사라진다.
영속성 컨텍스트가 초기화나 종료되면 엔티티는 준영속상태가 된다.
비영속 : 아직 영속성 컨텍스트나 데이터베이스와 전혀 관련이 없는 순수한 객체 상태
준영속 : (원래 관리했지만) 영속성 컨텍스트가 관리하지 않는 상태
준영속 상태로 만들려면 아래와 같은 세 가지 방법이 있다.
// 1. 준영속 상태로
em.detach();
// 2. 영속성 컨텍스트 종료
em.close();
// 3. 영속성 컨텍스트 초기화
em.clear();
준영속 상태의 특징
1. 비영속 상태와 유사하지만 영속상태를 거쳤기 때문에 반드시 식별자 값은 가지고 있다.
2. 지연로딩을 할 수 없다.
300x250