[Spring Boot] Cannot resolve method 'readOnly' 오류

MEUN·2021년 11월 14일
0

🔒 상황

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로 혼자 구현하는 웹 서비스


📕 느낀 점

  1. JDK에서 기본적으로 제공해주는 라이브러리 내 메서드 등을 활용할 때 공식 Java API Specification 페이지를 보다 더 자주 참고하여 제대로 알고 사용해야겠다고 생각하였다.
  2. JPA를 더 많이 공부해야겠다고 생각하였다.

0개의 댓글