➰ 준영속

영속성 컨텍스트가 관리하는 영속성 엔티티가 영속성 컨텍스트에서 분리된(detached)된 것을 준영속 상태라한다.

따라서 준영속 상태의 엔티티는 영속성 컨텍스트가 제공하는 기능을 사용할 수 없다.

1. 엔티티를 준영속 상태로 전환 : detach()

em.detach() 메소드는 특정 엔티티를 준영속 상태로 만든다.

//회원 엔티티를 영속성 컨텍스트에서 분리, 준영속 상태em.detach(member);

영속성 컨텍스트에게 해당 엔티티를 관리하지 말라는 것이다.

이 메소드를 호출하는 순간부터 1차 캐시부터 쓰기 지연 SQL 저장소까지 해당 엔티티를 관리하기 위한 모든 정보가 제거된다.

이처럼 영속 상태였다가 더는 영속성 컨텍스트가 관리하지 않는 상태를 준영속 상태라고 한다.

2. 영속성 컨텍스트 초기화 : clear()

em.clear() 메소드는 영속성 컨텍스트를 초기화해서 해당 영속성 컨텍스트의 모든 엔티티를 준영속 상태로 만든다.