Detach
2023. 12. 21. 03:38ㆍ카테고리 없음
준영속 상태 (detach 된 상태)
영속에서 준영속 상태가 되는 것.
영속 상태의 entity 가 영속성 컨텍스트에서 분리되는 것이다 (detached).
준영속 상태가 되면 영속성 컨텍스트가 제공하는 기능을 사용할 수 없다
(em.find 나 업데이트할 때 기능, dirty checking 등).
준영속 상태로 만드는 방법
em.detach(entity)
특정 entity 만 준영속 상태로 전환할 때 사용한다.
em.clear()
영속성 컨텍스트를 완전히 초기화한다.
em.close()
영속성 컨텍스트를 종료한다.
em.clear();
entity 매니저 안에 있는 영속성 컨텍스트를 통째로 다 지운다.
영속성 컨텍스트가 완전히 초기화되어 있으면,
똑같은 객체를 다시 조회해도 다시 처음부터 영속성 컨텍스트에 올리게 된다.
( = select 쿼리를 보낸다).
준영속 상태는 1차 캐시와 관계없이 테스트 케이스를 작성하거나 눈으로 확인하고 싶을 때 사용하면 좋다.