스프링부트1 [Spring] Spring Boot에서 트랜잭션 사용하기 일반적으로 하나의 비즈니스는 한 트랜잭션 내부에서 다룹니다. 비즈니스로직이 실행되는 도중 어떠한 이유로 메서드 실행이 중단된다면 지금껏 처리한 모든 쿼리가 롤백되어야 합니다. 체스 미션을 예시로 간단히 설명해보겠습니다. a2 포지션의 폰을 a4 포지션으로 옮기려면 a2 포지션은 blank로 a4 포지션은 폰으로 변경해야 합니다. 만약 위 비즈니스 로직이 다른 트랜잭션에서 작동하다 a2 포지션을 blank로 바꾼 후 에러가 발생하면 어떻게 될까요? 그렇다면 a2, a4 모두 blank를 갖게되고 폰은 어디론가 증발하게 될 것입니다. 이러한 문제를 해결하기 위해 주로 비즈니스 로직이 존재하는 Service 레이어에서 트랜잭션을 관리하게 됩니다. 트랜잭션을 완벽하게 이해하기 위해서는 dataSource가 co.. 2022. 4. 20. 이전 1 다음