JPA 기초) 12 영속 컨텍스트 & 라이프사이클

meteorfish·2022년 11월 30일

JPA&SpringJPA기초

목록 보기
12/18

본 강의는 JPA & Spring Data JPA 기초 강의 공부용 정리입니다.


영속 엔티티/객체 : DB 데이터에 매핑된 메모리상의 객체
영속 컨텍스트 :

  • 일종의 메모리 저장소
  • EntityManager가 관리하는 엔티티 객체를 보관
  • Map같은 형태로 저장 [(엔티티타입, 식별자) = 엔티티 객체]

영속 컨텍스트와 캐시


첫번째 find()한 객체와 두번째 find()한 객체는 같은 객체이다!

  • 첫번째 find()한 객체를 영속 컨텍스트에 영속 객체로 저장한다.
  • 추후 find()로 같은 객체는 영속 컨텍스트에서 가져오므로, select 쿼리를 실행하지 않는다!
    => 이를 Repeatable Read 효과라고 한다

영속 객체 라이프 사이클

  • persist()find()를 사용하면 해당 객체는 관리됨 상태가 된다.
    ( 영속 컨텍스트를 통해 관리된다. = 변경을 추적한다. )
  • remove()를 하면 삭제가 되는데, 이 또한 변경 추적이 된다.
  • close()detach()를 사용하면 분리됨 상태가 되고, 변경을 추적하지 않는다.


0개의 댓글