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
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 |