영속성 컨텍스트

bird.j·2021년 5월 19일
0

JPA

목록 보기
4/13

💡 영속성 컨텍스트


  • JPA를 이해하는데 가장 중요한 용어
  • '엔티티를 영구 저장하는 환경'이라는 뜻
  • 논리적인 개념으로 눈에 보이지 않는다.
  • 엔티티 매니저를 통해 영속성 컨텍스트에 접근
  • persist를 하면 영속성 컨텍스트에 쌓이고 commit을 해야 비로소 DB에 저장된다.



💡 영속성 컨텍스트의 이점


  • 1차 캐시
    • 동일한 트랜잭션 안에서 한 번 조회했던 것을 또 조회하면 db에 쿼리가 날라가지 않음.
  • 동일성 보장
  • 트랜잭션을 지원하는 쓰기 지연
  • 변경 감지
  • 지연 로딩



💡 플러시


: 영속성 컨텍스트의 변경내용을 데이터베이스에 반영

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

플러시가 발생하면?

  • 변경 감지
  • 수정된 엔티티 쓰기 지연 SQL 저장소에 등록
  • 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송

0개의 댓글