강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김동민님의 프로필 이미지
김동민

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

트랜잭션 문제 해결 - 트랜잭션 템플릿

이체중 예외 발생 테스트에서 롤백이 안되는 것 같아요

작성

·

303

0


프로젝트 코드 : https://drive.google.com/file/d/11CCB36D9oTLIXMvT4LUcGoXfyXB9Pk0E/view?usp=sharing

 

MemberSerivceV3_1Test, MemberSerivceV3_2Test 에서 이체중 예외 발생 테스트가 통과가 안됩니다.

기대하는 바는 롤백이 적용되어야 하는데, 실제 값은 롤백이 적용되지 않는 8000원이 저장됩니다.

PlatformTransactionManager을 적용한 코드에서 문제가 발생하는 것 같습니다.

딱히 놓친 부분이나 잘못한 부분을 발견하기 힘들어서 도움을 요청드리고자 질문 올립니다. ㅠㅠ

 

예외 안됨.png

감사합니다.

퀴즈

애플리케이션 계층 구조에서 서비스 계층을 순수하게 유지하려는 가장 중요한 이유는 무엇일까요?

UI 변경에 쉽게 대응하려고

데이터 저장 기술 변경에 쉽게 대응하려고

핵심 비즈니스 로직을 기술 종속 없이 관리하려고

성능 최적화를 위해

답변 2

2

안녕하세요. 김동민님, 공식 서포터즈 David입니다.

update 메서드 내에서 커넥션을 가져올 때, 레파지터리 내에 정의한 getConnection 메서드를 통해 커넥션을 가져와야 합니다. 동일한 커넥션을 가져올 때, 의도한 트랜잭션 롤백이 동작한다는 점 참고해 주세요.

감사합니다.

0

김동민님의 프로필 이미지
김동민
질문자

감사합니다! 잘못 작성한 부분을 찾았습니다 :)

김동민님의 프로필 이미지
김동민

작성한 질문수

질문하기