Detached Status
준영속 상태
준영속 상태
- 영속 상태의 엔티티가 영속성 컨텍스트에서 분리(detached) 
- 영속성 컨텍스트가 제공하는 기능을 사용 못함 
영속 상태가 되는 2가지 방법 1차 캐시에 있는 상태를 영속 상태라고 할 수 있다.
- em.persist(entity) 
- em.find(Member.class,id) : 데이터를 조회할 때 1차 캐시에 없는 경우 DB에서 조회해서 1차 캐시에 저장한다! 
준영속 상태로 만드는 방법
- em.detach(entity) : 특정 엔티티만 준영속 상태로 전환 
- em.clear() : 영속성 컨텍스트를 완전히 초기화 em.clear() 이전과 이후에 동일한 엔티티를 조회하면 1차 캐시가 두 삭제 되기 때문에 쿼리가 한번 더 나간다! 테스트케이스 작성 시에 사용하기도 한다. 
- em.close() : 영속성 컨텍스트를 종료 
Last updated
Was this helpful?