JPA

bbbbbhyun·2024년 5월 29일
0

영속성 컨테스트

  • 엔티티를 영구적으로 저장하는 환경
//영속성(1차 캐쉬에 저장됨)
em.persist(member);

비영속 (new/transient)

  • 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태
  • 영속 (managed)
영속성 컨텍스트에 관리되는 상태
//엔티티를 생성한 상태
Member member= new Member();
member.setId(“member1”);
Member.setusername(“회원1);

준영속 (detached)

  • 영속성 컨텍스트에 저장되었다가 분리된 상태
  • 영속 -> 준영속
    - 영속 상태의 엔티티가 영속성 컨텍스트에서 분리(detached)
    - 영속성 컨텍스트가 제공하는 기능을 사용 못함
  • 준영속 상태로 만드는 방법
    - em.detach(entity)
    특정 엔티티만 준영속 상태로 전환
    - em.clear()
    영속성 컨텍스트를 완전히 초기화
    - em.close()
    * 영속성 컨텍스트를 종료

삭제 (removed)

  • 삭제된 상태

플러쉬

  • 영속성 컨테스트의 변경내용을 데이터베이스에 반영
  • 영속성 컨텍스트를 비우지 않음
  • 트랜잭션이라는 작업 단위가 중요 -> 커밋 직전에만 동기화 하면 됨

profile
BackEnd develope

0개의 댓글