클론 코딩(4일차)
@Transactional(readOnly = true)
해당 메소드 또는 클래스의 메소드들이 읽기 전용(read-only) 트랜잭션으로 실행되도록 설정
Transaction의 격리 수준(Isolation Level)을 기본값인 READ_COMMITTED로 설정하고, 해당 트랜잭션 안에서는 읽기 작업만 허용하도록 지정
조회한 데이터를 return 한다고 해도 의도치 않게 데이터가 변경되는 일을 사전에 방지
해당 옵션인 경우 CUD 작업이 동작하지 않고, 스냅샷 저장, 변경 감지(dirty check)의 작업을 수행하지 않아 성능 향상
DB 서버의 부하를 줄이고 약간의 최적화
@Transactional(readOnly=true) 어노테이션이 있다면 코드를 접하는 사람들이 직관적으로 보기에 해당 메서드는 READ에 대한 동작만 수행할 것이라고 예상 가능
https://resilient-923.tistory.com/391