TIL(D+2). [JPA] 플러시(Flush) & 준영속 상태
2021.06.28
1. 플러시란?
영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 것
'변경감지', '쓰기 지연 SQL 저장소에 등록', '쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송' 일 때 플러시 발생할 때 일어난다. 영속성 컨텍스트를 플러시하는 방법은 아래와 같다.
* em.flush(); - 직접 호출
* 트랜잭션 커밋 - 플러시 자동 호출
* JPQL 쿼리 실행 - 플러시 자동 호출
2. 준영속 상태란?
영속 상태의 엔티티를 영속성 컨텍스트에서 분리하는 것을 말한다. 분리가 되면 영속성 컨텍스트가 제공하는 기능을 사용하지 못한다. 준영속 상태로 만드는 방법은 아래와 같다.
* em.detach(entity) - 특정 엔티티만 준영속 상태로 만든다.
* em.clear() - 영속성 컨텍스트를 완전히 초기화
* em.close() - 영속성 컨텍스트를 종료
댓글을 작성해보세요.