BE전문가 프로젝트

플러시 본문

JPA

플러시

원호보고서 2022. 9. 25. 16:58

플러시

영속성 컨텍스트의 변경내용을 DB에 반영하는 것

- 영속성 컨텍스트의 변경사항과 DB의 데이터를 맞춰주는 것

플러시 발생

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

영속성 컨텍스트를 플러시 하는 방법

직접 사용하는 일은 적지만 알아두는 것이 좋다

  • em.flush() - 직접 호출(commit하기 전에 SQL문을 사용하고 싶을 때 사용 - 강제성을 띈다)
  • 트랜잭션 커밋 - 플러시 자동 호출
  • JPQL 쿼리 실행 - 플러시 자동 호출

 

정리

  • 플러시를 한다고해서 영속성 컨텍스트를 비우지는 않는다.
  • 영속성 컨텍스트의 변경 내용을 DB에 동기화하는 것이다.
  • 트랜잭션이라는 작업 단위가 중요하며 커밋 직전에만 동기화 하면 된다.
Comments