JPA 플러시


JPA 플러시

플러시? 플러시는 영속성 컨텍스트의 변경내용을 DB에 반영하는 것을 말함 요약하면 영속성컨텍스트에 변경된 내용과 DB를 일치시키는 작업 플러시 발생시 내부적으로 이런것들이 진행됨 변경감지 수정된 엔티티 쓰기 지연 SQL 저장소에 등록 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송(등록, 수정, 삭제 쿼리) 플러시 하는 방법 em.flush() //직접 호출 트랜잭션 커밋 // 플러시 자동 호출1 JPQL 쿼리 실행 // 플러시 자동 호출2 플러시 모드 옵션 플러시할 타이밍을 정할수있는 옵션 em.setFlushMode(FlushModeType.AUTO) //커밋, 쿼리실행할때 플러시(기본값) em.setFlushMode(FlushModeType.COMMIT) //커밋할때만 플러시 so 플러시는? 영속성 컨텍스트를 비우지 않음 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화 트랜잭션이라는 작업 단위가 중요->커밋 직전에만 동기화 하면 됨...



원문링크 : JPA 플러시