반응형
플러시(flush)
- 영속성 컨텍스트(PersistenceContext)의 변경내용을 데이터베이스에 반영
플러시 발생
- 변경감지
- 수정된 엔티티 쓰기 지연 SQL 저장소에 등록
- 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송
PersistenceContext flush
- em.flush() (직접호출)
- 트랜잭션 커밋 (플러시 자동호출)
- JPQL 쿼리 실행 (플러시 자동호출)
플러시 모드 옵션
em.setFlushMode(FlushModeType.COMMIT);
FlushModeType.AUTO 커밋이나 쿼리를 실행할 때 플러시(기본값)
FlushModeType.COMMIT 커밋할때만 플러시
Flush(플러시)
- PersistenceContext 를 비우지않음
- PersistenceContext 변경내용을 데이터베이스에 동기화
- 트랜잭션이라는 작업 단위가 중요 > 커밋 직전에만 동기화 하면됨
반응형
'JPA' 카테고리의 다른 글
JPA 기본 키 매핑(Entity Mapping) GenerationType.IDENTITY, SEQUENCE, TABLE (0) | 2024.02.22 |
---|---|
JPA hibernate.hbm2ddl.auto 매핑 어노테이션(mapping annotations) (0) | 2024.02.22 |
JPA hibernate.hbm2ddl.auto 데이터베이스 스키마 자동생성 (0) | 2024.02.21 |
JPA PersistenceContext(영속성컨텍스트), 장점 (0) | 2024.02.21 |
JPA 소개, JPA 장점, ORM (0) | 2024.02.20 |