java @Transactional(readyOnly == true) 에러

MongCheol·2022년 6월 8일
post-thumbnail

스프링 부트 학습 중
@Transactional(readyOnly = true)
부분에서 IntelliJ가 readOnly를 빨갛게 물들이고 있었다.

원인을 찾아보니 readOnly 기능을 지원하지 않는 라이브러리를 import 하고 있었다.
import javax.transaction.Transactional;
대신
import org.springframework.transaction.annotation.Transactional;
를 import 하니 문제가 잘 해결되었다.

springframwork 의 Transactional 라이브러리는
표준 확장 라이브러리인 javax 의 Transactional 라이브러리에
readOnly 기능을 추가한 버전이라고 생각하면 되겠다.

[javax.transaction.Transactional docs]

javax.transaction.Transactional 에서 사용 가능한 Option

[org.springframework.transaction.annotation.Transactional docs]

org.springframework.transaction.annotation.Transactional 에서 사용 가능한 Option

읽기 전용의 트랜잭션의 경우 readOnly=true 를 사용하면 런타임에서 성능 향상이 가능하다.
라고 한다!


다시 한번 책의 앞부분을 찾아보니 책에서는 springframework의 Transactional library 를 잘 import 하고 있었다.
코드를 먼저 작성하고 IntelliJ IDEA의 도움을 받아 import를 진행하여 위와같은 문제가 발생했다.
다른 라이브러리를 import하지 않도록 주의하고 꼭 확인하자!

profile
자그마한 개미

0개의 댓글