• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

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

21.01.26 02:52 작성 조회수 126

3

안녕하세요, 팀장님!

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

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

감사합니다.

답변 1

답변을 작성해보세요.

3

안녕하세요. kkkh0712님

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

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

Service {

  나의돈을 1000원 제거

  상대방에게 돈을 1000원 추가

}

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

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

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

감사합니다.