플러시
- 영속성 컨텍스트의 변경내용을 데이터베이스에 반영
플러시 발생시 생기는 일
- 변경 감지
- 수정된 엔티티 쓰기 지연 SQL 저장소에 등록
- 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송
영속성 컨텍스트를 플러시 하는 방법
Member member = new Member(200L, "member200");
em.persist(member);
em.flush();
- transaction commit - 플러시 자동 호출
- JPQL 쿼리 실행 - 플러시 자동 호출
조심해야 할 부분
- flush는 영속성 컨텍스트를 비우지는 않는다.
- 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화 한다.
- 트랜잭션이라는 작업 단위가 있기 때문에 commit직전에만 db를 동기화하면 되기 때문에 flush가 가능