spring/JPA

flush()

콤마, 2022. 8. 13. 03:36

영속성 컨텍스트에 생성된 SQL문을 DB에 반영하는 것으로 플러시를 한다고 SQL 쿼리가 실행되진 않음

변경 감지시 플러시가 자동 발생된다.

 

사용법

-em.flush()

-트랜잭션 커밋시

-JPQL 실행시

 

커밋시에만 발생시킬지, 커밋+JPQL실행시 발생시킬지 세팅가능하다.

 

*플러시는

-영속성 컨텍스트를 비우지 않는다.

-영속성 컨텍스트의 변경 내용을 DB에 동기화만 시킨다.(SQL쿼리 실행X)

-트랜잭션이라는 작업 단위가 중요하다. -> commit 직전에만 동기화 된다.