-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Cannot execute statement in a READ ONLY transaction. 에러
22.08.22 23:04 작성 조회수 887
0
다음과 같이 메소드를 선언하고 test를 수행하면
public interface StockRepository extends JpaRepository<Stock, Long> {
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("select s from Stock s where s.id =:stockId")
Optional<Stock> findById(@Param("stockId") Long stockId);
}
Caused by: java.sql.SQLException: Cannot execute statement in a READ ONLY transaction.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:972)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57)
... 109 more
위와 같은 에러가 발생하는데요...어떻게 해결할 수 있나요?
답변을 작성해보세요.
0
최상용
지식공유자2022.08.22
이화평님 안녕하세요.
에러메세지로만 보면 read only transaction 이기때문에 에러가 발생하는것으로 보이는데요!
혹시 예제와 동일하게 작성이 되었을까요 ?
답변 2