@transactional(readonly=true)1 JPA와 읽기 전용 쿼리 "딱 한번만 조회하는 데이터에 JPA의 변경 감지 기능이 필요할까?" 이번 글은 JPA와 일회성 읽기 전용 쿼리의 관계에 대해서 소개하고, Spring에서 사용되는 @Transactional(readonly = true)를 알아보겠습니다. JPA의 변경 감지 기능은 어떻게 동작하나요? JPA 변경 감지 동작 원리JPA의 변경 감지(dirty checking) 동작 원리는 영속성 컨텍스트가 관리하는 엔티티의 변경을 감지하는 메커니즘입니다.이를 위해 초기 상태의 스냅샷(snapshot) 을 유지하며, 트랜잭션이 커밋되기 전에 현재 엔티티 상태와 비교하여 변경된 필드가 있는 경우 자동으로 update 쿼리를 생성하므로, 개발자가 직접 update 쿼리를 실행할 필요가 없습니다. 변경 감지 기능 너무 편리한데.. 2025. 2. 5. 이전 1 다음