- 개념
 
- 영속성 컨텍스트의 변경내용을 데이터베이스에 반영(동기화)
 
- 발생
 
- 변경 감지
 
- 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송(등록,수정,삭제)
 
- 플러시 방법
 
- 직접호출: em.flush()
 
- 트랜잭션 커밋: 플러시 자동 호출
 
- JPQL 쿼리 실행: 플러시 자동 호출
 
- 플러시 모드 옵션
em.setFlushMode(FlushModeType.COMMIT) 
- FlushModeType.AUTO
- 커밋이나 쿼리 실행시 플러시 => 디폴트값(되도록 수정하지 않는 것을 권장)
 
 
- FlushModeType.COMMIT '
 
- 특징
 
- 영속성 컨텍스트를 비우는건 아님
 
- 트랜잭션 작업 단위가 중요!! => 커밋 직전에만 동기화하면 됨
 
Member member = new Member(200L, "member200");
            em.persist(member);
            em.flush(); //강제 호출
            //쓰기 지연 SQL 저장소에 있던 쿼리가 DB에 반영하여 동기화(1차캐시가 없어지는건 아님)