y1551463

엔티티 생명주기

JPA생명주기
a month ago
·
2 min read

Entity Lifecycle

영속 객체의 상태

  1. 비영속 : 영속성 컨텍스트로 관리되기 이전에 순수 객체 상태

  2. 영속 : 영속성 컨텍스트로 등록되고 관리되는 상태

    • persist()를 통해 객체를 영속성 컨텍스트 1차 캐시에 등록

    • find()를 통해 DB 데이터를 1차 캐시에 등록

  3. 준영속 : 영속성 컨텍스트에서 관리되는 상태에서 (영속 상태에서) 분리된 상태

    • 1차 캐시에서 detach()를 통해 분리

  4. 삭제 : 영속 데이터의 삭제를 위한 상태

  • 영속 상태인 객체를 find() 하면 1차 캐시에서 찾으면 되기 때문에 조회 쿼리가 발생하지 않는다

  • 준영속 상태인 객체를 find() 하면 DB에서 찾아야 되기 때문에 조회 쿼리가 발생한다


- 컬렉션 아티클