flush
-
[Spring Boot] JPA Flush 특징, 문제 해결Backend/개발 2022. 4. 17. 20:16
JPA 특징 중 쓰기지연과 Flush에 관련한 글이다. JPA JPA는 엔티티를 영속성 컨텍스트에서 관리하며, JPA의 모든 데이터 변경은 트랜잭션 안에서 실행된다. tx.begin() tx.commit() tx.rollback() 쓰기지연 쓰기 지연이란 트랜잭션을 커밋하기 직전까지 데이터베이스에 엔티티를 저장하지 않고 내부 쿼리 저장소에 SQL을 모아뒀다가, 트랜잭션을 커밋할 때 모아둔 쿼리를 반영하는 과정이다. 이때 실제로 반영하는 작업을 flush라고 한다. 쓰기 지연의 이점 성능상 이점 (50개의 insert를 50번씩 하는 것보다 한 번에 50개를 다 하는 게 낫다) 데이터베이스 테이블 row에 lock 걸리는 시간 최소화 Flush 플러시 하는 방법 트랜잭션 커밋 시 flush 자동 호출 em..