JPA(8) - 플러시

2023. 9. 13. 11:41Lecture/JPA

이 글은 김영한 선생님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 3-3강을 듣고 정리한 글입니다.

플러시

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

플러시 발생

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

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

  • em.flush() - 직접 호출
  • 트랜잭션 커밋 - 플러시 자동 호출
  • JPQL 쿼리 실행 - 플러시 자동 호출

플러시 모드 옵션

  • FlushModeType.AUTO - 커밋이나 쿼리를 실행할 떄 플러시 (기본값)
  • FlushModeType.COMMIT -  커밋할 때만 플러시

플러시는?

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

'Lecture > JPA' 카테고리의 다른 글

JPA(10) - 객체와 테이블 매핑  (0) 2023.09.14
JPA(9) - 준영속 상태  (0) 2023.09.13
JPA(7) - 영속성 컨텍스트2  (0) 2023.09.13
JPA(6) - 영속성 컨텍스트  (0) 2023.09.12
JPA(5)  (0) 2023.09.12