반응형
플러시란?
영속성 컨텍스트의 변경 내용을 데이터베이스에 반영 (쿼리를 날려주는 것)
- 영속성 컨텍스트를 비우지 않음
- 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화
- (트랜잭션이라는 작업 단위가 중요) commit 직전에만 동기화 하면 된다.
플러시 발생
커밋이나 쿼리를 실행할 때 플러시가 된다. (FlushModeType.AUTO 기본값)
- 변경 감지가 일어남
- 수정된 엔티티 쓰기 지연 SQL 저장소에 등록
- 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송 (등록, 수정, 삭제 쿼리)
영속성 컨텍스트를 플러시하는 방법
- em.flush() - 직접 호출 (쓸일 없음)
- transaction.commit() - 플러시 자동 호출
- JPQL 쿼리 실행 - 플러시 자동 호출
참조 - 자바 ORM 표준 JPA 프로그래밍
반응형
'웹개발 > Spring' 카테고리의 다른 글
[JPA] 양방향 연관관계 (0) | 2020.01.19 |
---|---|
[JPA] 엔티티 매핑 ⭐️ @Entity, @Table, @Column, @Id (0) | 2020.01.17 |
[JPA] 준영속 엔티티란? 변경 감지와 병합(merge) (0) | 2020.01.16 |
[JPA] 영속성 컨텍스트란? Entity Manager (0) | 2020.01.16 |
DI (Dependency Injection) 의존 주입 (0) | 2020.01.15 |