MySql 에서는 레코드에 락을 걸 수 있다. 이것을 X락, Exclusize Lock, 쓰기락 이라고 한다. 트랜잭션이 끝날 때 까지 읽기, 또는 쓰기를 실행 할 수 없다. X락은 중첩해서 걸 수 없다. 앞 트랜잭션이 끝날 때 까지 대기해야한다.트랜잭션이 커밋 되는 순간 락이 해제된다. public interface CouponJpaRepository extends JpaRepository { @Lock(LockModeType.PESSIMISTIC_READ) @Query("SELECT c FROM Coupon c WHERE c.id = :id") Optional findCouponWithLock(Long id);} JpaRepository 에 락을 적용시켜준다.public class..