• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Transaction을 서비스, 리포지토리 계층 모두에 적용해야하나요

24.04.30 20:26 작성 조회수 56

0

Spring Data JPA의 경우 자동으로 @Transaction이 적용되는 것으로 알고있는데, 이를 사용하는 서비스 계층에도 @Transaction을 적용해야하는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2024.04.30

안녕하세요. Jaesang Yoon님, 공식 서포터즈 OMG입니다.

서비스 단에서의 트랜잭션 선언은 해당 트랜잭션 내의 작업 단위를 하나로 묶는 역할을 합니다 😀

가령, 대표적으로 트랜잭션 예시로 자주 사용되는 은행 예시를 바탕으로 생각해본다면

내가 누군가에게 입금한다 했을 때, 내 계좌에서 돈이 빠져나가고, 입금을 받는 사람의 계좌에는 돈이 증가해야합니다. 이렇게 복수의 작업을 한 트랜잭션으로 묶어야 할 경우나, 트랜잭션의 전파 행위를 제어해야 할 때는 서비스 계층에서 @Transactional을 명시해야 합니다.

감사합니다.