개발바닥곰발바닥
반응형
article thumbnail
JPA 및 Hibernate의 1차 캐시
JAVA/Spring 2023. 1. 10. 00:25

JPA 및 Hibernate의 1차 캐시 JPA(Hibernate)에서 엔티티 매니저를 사용해서 persist, merge, remove를 했을 때 엔티티의 상태는 변경(New, Managed, Removed,..)되지만, flush나 트랜잭션이 커밋될 때까지 데이터베이스에 동기화되지는 않는다. 트랜잭션이 커밋되었을 때 변경을 한 번에 데이터베이스에 반영하기 위해 JPA(Hibernate)의 영속성 컨텍스트 내부에는 엔티티를 저장하는 1차 캐시가 존재한다. 1차 캐시는 트랜잭션이 시작되고 종료될 때까지만 유효한 트랜잭션 단위의 캐시다. 애플리케이션 단위의 캐시를 사용하고 싶다면 2차 캐시를 활성화해야 한다. Hibernate의 1차 캐시 구현 내부적으로 Hibernate는 엔티티를 다음과 같은 Map에 ..

반응형