inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

토비의 스프링 6 - 이해와 원리

스프링을 어떻게 공부할 것인가?

@Transactional 에 대해서 질문이 있습니다.

해결된 질문

544

바라기

작성한 질문수 2

0

모든 강의를 듣고 따라하면서 재미나게 실습했습니다.

그 중에서

롤백테스트할 때

jakarta.transaction.Transactional

또는

org.springframework.transaction.annotation.Transactional

@Transactional

만을 사용하면 정상동작합니다.

그런데,

org.springframework.transaction.annotation.Transactional

@Transactional(readOnly = true)

readOnly = true 를 사용하여 테스트를 하면 insert 가 진행되지 않을 것을 예상했는데 진행이 되었습니다.

왜 그런지 궁금합니다.

그리고,

인프런안의 Kotlin 강좌중 추천할만한 강의가 있을까요?

어제 유튜브에서 최근의 건강에 대해서 언급하셨는데,

건강하고 늘 행복하게 보내세요.

java spring

답변 1

2

토비

@Transactional의 readOnly 엘리먼트는 JDBC의 readonly 플래그 설정 기능을 사용하게 해줍니다.

그런데 모든 데이터베이스의 모든 드라이버가 다 readonly 모드를 지원하지 않습니다. Readonly는 일종의 힌트 정보인데 이걸 DB나 드라이버의 읽기 전용 기능으로 강제하는 경우도 있지만 이를 지원하지 않는 DB도 있습니다.

예제에서 사용한 H2 데이터베이스에서는 어떻게 적용되는지 제가 따로 확인해보지 않았지만 readOnly를 true해도 쓰기 기능이 에러가 나지 않고 동작한다면 아마도 예제에서 사용하는 H2 Database의 내장형 메모리 DB 모드에서는 readOnly를 직접 지원하지 않는 것으로 보입니다.

 

0

바라기

아~~!
그렇군요.
감사합니다.

수업을 잘 듣고 있습니다.

0

103

2

jackson(3.0.2 버전) ObjectMapper.readValue 에러타입

0

108

2

템플릿과 콜백의 역할 경계를 구분하는 기준

0

99

1

테스트를 작성하지않아도 되는 경우

0

86

2

오브젝트 정의 중 배열에 대해서

0

63

2

스프링 레거시를 이용하는 회사에서 일을 하게 될것같은데

0

109

2

JpaTransactionManager에 대해 궁금합니다.

0

81

2

스프링빈과 Clock 클래스 관련

0

44

2

Seprate Interface 패턴에 대한 궁금증

0

46

2

테스트의 기준을 어떤식으로 설정하는 것이 바람직한 테스트일까요 ?

0

51

2

오브젝트와 인스턴스

0

38

1

WebApiExRateProvider 템플릿 콜백 패턴을 적용하면서 테스트 코드를 만들어보았습니다.

0

62

2

템플릿 콜백 패턴 관련하여 궁금한 것이 있습니다!

0

60

2

상태 변경 API 질문

0

120

2

빈에 대한 질문

0

97

1

안녕하세요.

0

145

2

Payment 엔티티에 exRateProvider 주입

0

101

1

@Transactional private 사용유무

0

157

1

JdbcClient 생성 질문

0

190

2

안녕하세요 PaymentConfig 질문드립니다.

0

110

2

[공유] 윈도우 사용자를 위한 http 명령어 오류 해결 방법

0

245

2

생성자 파라미터성자 파라미터

0

238

2

토비님 ! BigDecimal 관련 링크를 못찾겠어요

2

344

2

인터페이스 사용에 관하여 질문드립니다.

0

308

3