영속성 컨텍스트의 변경내용을 데이터베이스에 반영
플러시 발생 (transaction commit 됐을때 자동적으로 발생)
- 변경 감지
- 수정된 엔티티 쓰기 지연 SQL 저장소에 등록
- 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송 (등록, 수정, 삭제 쿼리)
영속성 컨텍스트를 플러시하는 방법
- em.flush() -직접 호출
- 트랜잭션 커밋 -플러시 자동 호출
- JPQL 쿼리 실행 -플러시 자동 호출
플러시해도 1차 캐시 유지
플러시
- 영속성 컨텍스트를 비우지 않음
- 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화
- 트랜잭션이라는 작업 단위가 중요 -> 커밋 직전에만 동기화하면 됨