-
@Transaction(readOnly = true)Programming Language/Spring 2022. 11. 21. 21:45반응형
스프링 프레임워크에서 @Transaction(readOnly = true)로 트랜잭션을 읽기 전용 모드로 설정할 수 있다.
@Transaction(readOnly = true)
트랜잭션에 readOnly = true 옵션을 주면 스프링 프레임워크가 하이버네이트 세션 플러시 모드를
MANUAL
로 설정한다.
이렇게 하면 강제로 플러시를 호출하지 않는 한 플러시가 일어나지 않는다.
따라서 트랜잭션을 커밋하더라도 영속성 컨텍스트가 플러시 되지 않아 엔티티의등록
,수정
,삭제
가 동작하지 않고 또한 읽기 전용으로 영속성 컨텍스트는 변경 감지를 위한 스냅샷을 보관하지 않으므로 성능이 향상된다.즉 엔티티를 읽기 전용으로 조회하면 변경 감지를 위한 스냅샷을 유지하지 않아도 되고 영속성 컨텍스트를 플러시 하지 않아도 돼 성능을 최적화할 수 있다.
반응형'Programming Language > Spring' 카테고리의 다른 글
Microservice와 Spring Cloud 소개 (0) 2023.05.05 [Spring In Action] 11. 리액티브 API 개발하기 (0) 2023.03.24 [Spring] 스프링 트랜잭션 (0) 2022.09.30 [Spring] @Bean vs @Component (0) 2022.09.28 [Spring] 스프링 빈(Bean) (0) 2022.05.31