반응형
플러시
-
[JPA] 플러시 (flush)강의노트/JPA - 기본편 2021. 5. 27. 10:25
플러시란? 영속성 컨텍스트의 변경 내용을 DB에 반영하는 것 트랜잭션 commit이 일어날 때 플러시가 동작하는데, 이때 쓰기 지연 저장소에 쌓아 놨던 INSERT, UPDATE, DELETE SQL들이 DB에 전달된다. [주의] 영속성 컨텍스트를 비우는 것은 아니다. 플러시의 동작 과정 변경을 감지한다. (Dirty Checking) 수정된 Entity를 쓰기 지연 저장소에 등록한다. 쓰기 지연 저장소에 저장된 SQL을 DB에 전달한다. 플러시가 발생한다고 해서 commit이 이루어지는 것이 아니고 플러시 다음에 실제 commit이 일어난다. 플러시가 동작할 수 있는 이유는 데이터베이스 트랜잭션(작업 단위)이라는 개념이 있기 때문이다. 트랜잭션이 시작되고 해당 트랜잭션이 commit되는 시점 직전에만 ..