728x90
(Lock ์ ๋ํด์๋ ์ ๊ฐ ์์ง ๊ณต๋ถ๋ฅผ ์ ๋ชปํ์ฌ์, ์ดํ ์ ๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค)
Data JPA์์์ Lock ์ค์
@Lock์ ํตํด ๊ฐํธํ๊ฒ ์ค์ ํ ์ ์์ต๋๋ค.
์์
interface MemberRepository : JpaRepository<Member, Long> {
@Lock(LockModeType.PESSIMISTIC_WRITE)
fun findByUsername(username: String): Member?
}
์ง์ํ๋ Lock์ ์ข ๋ฅ
ํด๋น LockModeType์ ํจํค์ง๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฆ Lock์ ์ค์ ํ๋ ๊ฒ์ JPA์ ํ์ค ์คํ์ ๋๋ค.
๊ทธ๋ฌ๋ @Lock์ ํตํด ํด๋น ์ค์ ์ ํธํ๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ Data JPA์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
Reference
์ค์ ! ์คํ๋ง ๋ฐ์ดํฐ JPA - ์ธํ๋ฐ | ๊ฐ์
์คํ๋ง ๋ฐ์ดํฐ JPA๋ ๊ธฐ์กด์ ํ๊ณ๋ฅผ ๋์ด ๋ง์น ๋ง๋ฒ์ฒ๋ผ, ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ตฌํ ํด๋์ค ์์ด ์ธํฐํ์ด์ค ๋ง์ผ๋ก ๊ฐ๋ฐ์ ์๋ฃํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ณต ๊ฐ๋ฐํด์จ ๊ธฐ๋ณธ CRUD ๊ธฐ๋ฅ๋ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค
www.inflearn.com
728x90
'๐๏ธ Spring > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Data JPA] Auditing (0) | 2022.07.28 |
---|---|
[Spring Data JPA] ์ฌ์ฉ์ ์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ตฌํํ๊ธฐ (0) | 2022.07.28 |
[Spring Data JPA] ์ฝ๊ธฐ ์ ์ฉ ์ฟผ๋ฆฌ ๋ง๋ค๊ธฐ (JPA Hint) (0) | 2022.07.28 |
[Spring Data JPA] @EntityGraph (0) | 2022.07.28 |
[Spring Data JPA] ๋ฒํฌ ์ฐ์ฐ (0) | 2022.07.28 |