728x90
* Transaction(트랜잭션)이란?
- 개발 중 여러개의 로직을 처리해야하는 경우가 있는데, 여러개의 쿼리가 처리되는 상황에서 문제가 생긴다면 시스템 장애가 난다.
할인쿠폰을 사용하여 저렴하게 구매하던 중 중간에 네트워크 문제로 상품을 할인쿠폰이 적용된 가격으로 구매했는데도, 아직 할인쿠폰이 남아있던가 이런 문제가 발생할 수 있다. 이럴 경우 비용 손실을 유발 한다.
위 같은 문제를 해결하기 위해 Transaction이 탄생하게 되었다.
* Spring에서 Transaction
- 트랜잭션은 2개 이상의 쿼리를 하나의 커넥션으로 묶어 DB에 전송하고, 이 과정에서 오류가 발생 할 경우 ROLLBACK
이러한 과정을 구현하기 위해 트랜잭션은 하나 이상의 쿼리를 처리할 때 , 동일한 커넥션 객체를 공유 하도록 한다.
[사용 방법]
- Spring의 @Transactional
: Spring에서는 Service Layer에서 @Transactional을 추가하여 트랜잭션 처리를 한다.
@Service
public class ManagerService {
@Transactional
int insertManagerInfo();
}
'웹개발 > BackEnd' 카테고리의 다른 글
[Spring] ModelAndView vs Model (0) | 2023.05.23 |
---|---|
[Batch File] Windows 배치 파일 만들기 (0) | 2023.03.30 |
[Wget]Wget을 이용한 크롤링 (0) | 2023.03.30 |
[Spring] Web Cache (0) | 2023.03.24 |
[Spring] Spring MVC 세팅(with IntelliJ Community) (2) | 2022.09.02 |