API를 개발하던 도중 서비스 메소드 상단에 @Transactional(readOnly = true)
Annotation과 옵션을 추가하였더니 해당 부분에 빨간 밑줄이 그어지며 아래와 같은 오류가 조회되었다.
Cannot resolve method 'readOnly'
1. import문 확인
javax.transaction.Transactional
로 import되어 있는 경우 @Transactional
Annotation에 대하여 옵션을 허용하지 않아 오류가 발생한다.org.springframework.transaction.annotation.Transactional
로 변경하여 옵션을 사용 가능하도록 처리한다.@Transactional(readOnly = true)
옵션을 사용할 경우 트랜잭션을 읽기 전용 모드로 설정하여 트랜잭션 범위는 유지되지만, 조회 속도가 향상되어 등록, 수정, 삭제 기능이 없는 서비스 메소드에서 사용하는 것을 추천한다.
참조
[JPA] @Transaction(readOnly=true) 성능 향상 이유?
[프리렉] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스