๐ ์ค๋์ ์ด๋ค ํ๋ฃจ์์ง..
๋๋์ด ์ ์ฐฉ์ ํ ์ธ ์ฟ ํฐ์ ํ๋ก์ ํธ์ ์ ์ฉํ ์๊ฐ!!!
์ฐ์ ์ฟ ํฐ ์์ฑ๊ณผ ๋ฐ๊ธ์ ์ํด ์ ์ฐฉ์ ํ ์ธ ์ฟ ํฐ CRUD๋ฅผ ์งํํ๋ค.
์์ฑํ๋ ๊ฒ์ ๊ธ๋ฐฉ ๋ง๋ฌด๋ฆฌ๋์ง๋ง ๋์์ฑ ์ ์ด๊ฐ ์ฒ์์ด๋ผ ๊ทธ๋ฐ์ง ์ฟ ํฐ ๋ฐ๊ธ ๋ก์ง์ด ์๊ฐ๋ณด๋ค ์ ๋ฆฌ๊ฐ ๋์ง ์์๋ค.
๊ทธ๋์ ์ฐจ๋ถํ๊ฒ ๋ก์ง์ ๋์ํํ๊ณ , ์์ธ ์ฒ๋ฆฌ์ ํจ๊ป ๋ก์ง์ ์ ๋ง๋ฌด๋ฆฌํ ์ ์์๋ค.
๋ค์์ ์ฟ ํฐ ๋ฐ๊ธ ๋ถ๋ถ์ ๋์์ฑ ์ ์ด๋ฅผ ํด์ผ ํ๋ค!
์ต๋ ์๋์ ๋ง๊ฒ ์ฌ๋๋ค์๊ฒ ์ ๊ณตํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ํํ ์๋์ผ๋ก ๋ฐ๊ธ์ ํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ๋น๊ด์ ๋ฝ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
์ฟ ํฐ์ ์กฐํํ๋ ๊ณผ์ ์ ๋์์ฑ ์ ์ด๋ฅผ ์ ์ฉํ์ฌ ๋จผ์ ์กฐํํ ์ฌ๋์ด ์ฟ ํฐ์ ๋ฐ๊ธ๋ฐ์ ๋๊น์ง ๋ค๋ฅธ ์ฌ๋๋ค์ ๋๊ธฐ๋ฅผ ํด์ผ ํ๋ค.
์ฐ์ ์ ์ค๋ฅ๊ฐ ๋๋ ๋ถ๋ถ์ด ์๋์ง๋ง ํ์ธํ๊ณ ํ๋ฃจ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ค!
๐ก ์๋กญ๊ฒ ์๊ฒ ๋ ๋ด์ฉ์ ๋ญ๊ฐ ์๋๋ผ..?!
๋น๊ด์ ๋ฝ ์ ์ฉ
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("SELECT c FROM Coupon c WHERE c.id = :couponId")
Optional<Coupon> findByIdWithLock(Long couponId);
๋ค์๊ณผ ๊ฐ์ด @Lock(LockModeType.PESSIMISTIC_WRITE)๋ฅผ ์ค์ ํ๋ฉด ๋๋๋ค.
์๊ฐ๋ณด๋ค ๋๊ฒ ๋จ์ํ๊ฒ ์ ์ฉ์ด ๋ผ์ ๋นํฉํ๋ค.. ใ
ใ
๐๏ธ ๋ด์ผ์ ๋ญ ํ์ง?!
โ๏ธ ํ๋ก์ ํธ - ํ
์คํธ ์ฝ๋๋ก ๋์์ฑ ์ ์ด ํ์ธ
โ๏ธ TIL ์์ฑ
'๐ฅ๏ธ ์ด์ปค๋จธ์คํ๋ก์ ํธ > โ๏ธ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 16์ผ์ฐจ.. (0) | 2025.05.07 |
---|---|
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 14์ผ์ฐจ.. (0) | 2025.05.04 |
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 12์ผ์ฐจ.. (0) | 2025.05.02 |
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 11์ผ์ฐจ.. (1) | 2025.05.01 |
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 10์ผ์ฐจ.. (0) | 2025.04.30 |