영속성 컨텍스트 (Persistence Context) 란 (2)
플러시는 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영한다. 플러시가 호출되면 1. 변경감지가 동작해서 영속성 컨텍스트 내 모든 엔티티들을 대상으로 스냅샷과 비교해 변경사항을 찾고, 수정된 엔티티들은 UPDATE문을 생성하여 SQL저장소에 등록한다. 2. SQL저장소의 쿼리를 데이터베이스에 전송한다. (등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법은 3가지가 있다. 1. 직접 호출 엔티티매니저의 flush 메소드를 호출하는 것으로 테스트, 다른 프레임워크와 JPA를 함께 사용할 때를 제외하곤 거의 사용하지 않는다. 2. 트랜잭션 커밋 시 데이터베이스에 어떤 변경도 없이 트랜잭션만 커밋해서는 아무것도 바뀌는게 없다. 때문에 항상 데이터베이스 커밋 전엔 영속성 컨텍스트의 내용을 flush하..