영속성 컨텍스트
-
JPA의 쓰기지연 기능 확인해보기 (transactional write-behind)개발/JPA & Hibernate 2021. 7. 16. 19:00
JPA의 특징중 하나는 영속성 컨텍스트 (Persistence Context)내에서 쓰기지연(transactional write-behind)이 발생한다는 것입니다. 이 글에서는 JPA와 Mybatis를 이용해 쓰기지연을 했을때와 안했을 때를 비교해보려고 합니다. (Mybatis는 쓰기지연을 하지 않습니다.) 쓰기지연이란? (transactional write-behind) 영속성 컨텍스트에 변경이 발생했을 때, 바로 데이터베이스로 쿼리를 보내지 않고 SQL 쿼리를 버퍼에 모아놨다가, 영속성 컨텍스트가 flush 하는 시점에 모아둔 SQL 쿼리를 데이터베이스로 보내는 기능입니다. 사전 지식 - 영속성 컨텍스트는 동일성(Identity)를 보장한다. - 영속성 컨텍스트는 1차 캐시의 역할을 한다. 즉 객체..