TIL)23.08.01(영속성 컨텍스트)

주민·2023년 8월 1일
0

TIL

목록 보기
51/84

준영속 상태

  • 영속 상태였던 것을 분리
    -> 분리 후 내용을 수정해도 변경감지에 걸리지 않음
    (* 영속성 컨텍스트에 있는 Entity만 변경감지가 가능)
  1. em.detach(memo);
    -> 입력한 memo 준영속 상태가 되고 트랜젝션 사용 가능
  2. em.clear();
    -> 영속성 컨텍스트 초기화, 모든 Entity를 준영속 상태로 만듬, 트랜젝션 사용 가능
  3. em.close();
    -> clear와 유사하게 전부 준영속 상태가 되나 트랜젝션을 아예 종료 시킴
  • 준영속 -> 영속
    em.marge(memo);
    -> DB에 데이터가 있는 경우 : 기존 데이터와 현재 데이터를 병합
    -> DB에 데이터가 없는 경우 : insert를 통해 새로 만듬
    => 만든 변수 memo에는 계속 준영속 상태이니 memo를 merge하는 다른 변수는 만들어 저장해야함

EntityManagerFactory => emf
emf.EntityManager => em
em.getTransaction => et

et.begin , commit

0개의 댓글

관련 채용 정보