여러 사용자가 동시에 재고를 감소시킬 때, 재고 수량이 올바르게 감소하지 않거나, 재고가 음수가 되는 등의 문제가 발생할 수 있습니다. 이번 포스팅에서는 스프링 부트와 JPA를 사용하여 재고 감소 기능을 구현하고, 동시성 문제를 해결하는 방법과 이를 테스트하는 방법을 소개합니다. 1. 재고(Stock) 엔티티@Entity@Getterpublic class Stock { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Long productId; private Long quantity; public Stock(Long productId, Long quantity) { ..