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

작성자 없음

작성자 정보가 삭제된 글입니다.

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 서비스 개발

안녕하세요 트랜잭션 처리에 관해 질문드립니다.

해결된 질문

21.01.26 02:52 작성

·

179

3

안녕하세요, 팀장님!

트랜잭션을 엔티티 매니저를 직접 다루는 리포지토리에서 하는 것이랑 서비스 계층에서 하는 것이랑 어떤 차이가 있나요?@Transactional을 서비스 계층이 아니라 리포지토리에서도 걸 수 있는데 서비스 계층에서 거는 이유가 궁금합니다.

그리고 MVC 강의 출시는 언제쯤 예상하시나요?ㅎㅎ

감사합니다.

답변 1

4

김영한님의 프로필 이미지
김영한
지식공유자

2021. 01. 26. 22:56

안녕하세요. kkkh0712님

@Transactional을 서비스 계층에 거는 이유는 비즈니스 로직의 특징 때문입니다.

계좌이체를 떠올려보시면 다음과 같이 되는데요.

Service {

  나의돈을 1000원 제거

  상대방에게 돈을 1000원 추가

}

중간에 오류가 발생하면 두 로직이 함께 롤백되어야 합니다.

따라서 서비스 계층에 보통 트랜잭션을 사용합니다.

MVC 강의는 분량이 생각보다 많네요. 열심히 준비중인데 2월 말 쯤으로 예상하고 있습니다^^

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기