[공부 노트] JPA - 영속성 컨텍스트, 영속화(Persist)

DreamJJW·2023년 12월 12일
0

공부 노트

목록 보기
14/18

영속성 컨텍스트

-> 엔티티를 영구적으로 저장하는 환경

EntityManager.persist(entity);

- DB에 저장하는 것이 아니다!!

영속성 컨텍스트는
1) 논리적인 개념이고
2) 눈에 보이지 않는다.
3) EntityManager를 통해서 영속성 컨텍스트에 접근한다.


엔티티의 라이프 사이클


비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태
영속(managed) : 영속성 컨텍스트에 관리되는 상태
준영속(detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태
삭제(remove) : 삭제된 상태


객체를 생성한 상태 = 비영속 상태

Member member = new Member();

영속화

em.persist(member);

영속성 상태의 장점

  • 1차 캐시
  • 동일성(identity) 보장
  • 트랜잭션을 지원하는 쓰기 지연
  • 변경 감지
  • 지연 로딩

트랜잭션 커밋

데이터(엔티티)를 DB로 보내는 시점
데이터베이스로 insert문을 날리게 된다.

transaction.commit();
profile
간절한 사람

0개의 댓글