티스토리 뷰
@Transactional(readOnly = true)가 적용된 메서드에서 @Transactional 혹은 @Transactional(readOnly = false)가 적용된 메서드를 호출 할 경우 무조건 read-only Transaction이 적용된다. 트랙잭션이 전파되는 것은 맞지만 JDBC 벤더들 마다 readOnly속성의 구현이 된 벤더들도 있고 그렇지 않은 벤더들도 있다. 그래서 만약 이때 R을 제외한 CUD를 할 경우 에러를 발생한다. 이것은 참일수도 있고 거짓일 수도 있다. 적용이 되는 경우도 있고 안되는 경우도 있다고 한다.
정상적인 상황인 경우 readOnly는 트랜잭션 범위는 유지하되 조회 기능만 남겨두어 조회 속도가 개선되게끔 하려고 사용한다.
'Spring' 카테고리의 다른 글
mybatis 쿼리 where 조건 쓸때 and 때문에 에러날 경우 (0) | 2020.12.11 |
---|---|
spring 컨트롤러에 접근 전에 항상 접근하게 하는 어노테이션(@ControllerAdvice @ModelAttribute) (0) | 2020.12.10 |
mybatis resultType에 넣을 수 있는 값 (0) | 2020.11.05 |
생성자의 매개변수가 많을 때는 빌더(builder)를 고려하자 (0) | 2020.10.11 |
@NoargsConstructor(AccessLevel.PROTECTED) 와 @Builder (0) | 2020.10.11 |
댓글