[TIL-20260118] JPA ๋ณ€๊ฒฝ ๊ฐ์ง€ (Dirty Checking)

2026. 1. 18. 15:32ยทToday I Learned ๐Ÿง

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Lean ...

 

๋”ํ‹ฐ ์ฒดํ‚น์„ ์ด์šฉํ•œ ์—”ํ‹ฐํ‹ฐ Update

 

JPA์˜ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋Š” DB ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑ(1์ฐจ ์บ์‹œ)ํ•˜์—ฌ ๋™์ผํ•œ ์—”ํ‹ฐํ‹ฐ์— ๋Œ€ํ•œ ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ๋ฐฉ์ง€ํ•ด์ค€๋‹ค.

ํŠธ๋ž™์žญ์…˜์ด ์ปค๋ฐ‹๋  ๋•Œ ๋ณ€๊ฒฝ๋œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•˜๊ณ  DB์— ๋ฐ˜์˜๋˜๊ธฐ ๋•Œ๋ฌธ์—, ( โžก๏ธ ์ด๊ฒƒ์ด ๋”ํ‹ฐ์ฒดํ‚น!) ๋ ˆํผ์ง€ํ„ฐ๋ฆฌ์—  update ๋ฉ”์„œ๋“œ๋ฅผ ๋”ฐ๋กœ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค !

์ด๋ฅผ ํ™œ์šฉํ•ด์„œ ์‚ฌ์šฉ์ž ์—”ํ‹ฐํ‹ฐ ์•ˆ์— couple_id ๊ฐ’์„ ๋ฐ”๊พธ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด๋†จ์—ˆ๋‹ค.

 

(์ถœ์ฒ˜: https://orange-makiyato.tistory.com/136 )

 

 

 

์ปคํ”Œ ์—ฐ๋™์ด ์™„๋ฃŒ๋˜๋ฉด couple_id๊ฐ’์ด update ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ,

ํ•ด๋‹น ํ…Œ์ŠคํŠธ ์‹คํŒจํ•˜๊ณ , ์ฝ˜์†”์ฐฝ์„ ์‚ดํŽด๋ณด๋‹ˆ update ๋ฌธ์ œ ์ „ํ˜€ ๋ณด์ด์งˆ ์•Š์•˜๋‹ค.

 

๋ถ„๋ช… ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ๋ฉ”์„œ๋“œ๋“ค์€ update ์ฟผ๋ฆฌ๋„ ์‹คํ–‰๋˜๊ณ  ํ…Œ์ŠคํŠธ๋„ ํ†ต๊ณผํ•˜๋Š” ๋ฐ ๋ญ๊ฐ€ ๋ฌธ์ œ์ธ์ง€ ..

ํด๋กœ๋“œ์—๊ฒŒ ๋„์›€์„ ์š”์ฒญํ–ˆ๋Š”๋ฐ @Transactional ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ๋œ ๊ฒŒ ๋ฌธ์ œ๋ผ๊ณ  ํ•œ๋‹ค.

์œ„์— ์–ธ๊ธ‰ํ•œ ๋ธ”๋กœ๊ทธ์—์„œ๋„ @Transactional(readOnly = false)์ผ ๋•Œ๋งŒ ๋™์ž‘ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

๋‹ค์‹œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋“ค์„ ์‚ดํŽด๋ณด๋‹ˆ,

๋”ํ‹ฐ์ฒดํ‚น์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋„๋ฉ”์ธ ๋ฉ”์„œ๋“œ๋Š” @Transactional ์ด ๋ถ™์€ ์„œ๋น„์Šค ๋‚ด ๋ฉ”์„œ๋“œ์—์„œ ํ˜ธ์ถœ์ด ๋˜์—ˆ๊ณ ,

๋ฐํ‹ฐ์ฒดํ‚น์ด ๋˜์ง€ ์•Š์•˜๋˜ ๋„๋ฉ”์ธ ๋ฉ”์„œ๋“œ๋Š” @Transactional์ด ๋ถ™์ง€ ์•Š์€ ๋งค๋‹ˆ์ € ๋‚ด ๋ฉ”์„œ๋“œ์—์„œ ํ˜ธ์ถœ๋˜๊ณ  ์žˆ์—ˆ๋‹ค.

 

 

๋งค๋‹ˆ์ € ๋ฉ”์„œ๋“œ์— @Transactional ์„ ๋ถ™์—ฌ์ฃผ๋‹ˆ,  ํ…Œ์ŠคํŠธ๋„ ํ†ต๊ณผ๋˜๊ณ  update ์ฟผ๋ฆฌ๋ฌธ์ด ์‹คํ–‰๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. โœŒ๐Ÿป

 

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Today I Learned ๐Ÿง' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL-20260127] @AuthenticationPrincipal , Swagger JWT ์ธ์ฆ ์„ค์ •  (0) 2026.01.27
[TIL-20260124] Spring Batch Reader ๊ตฌํ˜„  (0) 2026.01.24
[TIL-20260122] ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ (Spring Environment, Kotlin buildList)  (0) 2026.01.22
[TIL-20260117] Spring JPA ์ปฌ๋Ÿผ์— ์ฝ”๋ฉ˜ํŠธ ๋‹ฌ๊ธฐ  (0) 2026.01.17
[TIL-260116] Spring Stomp ์ง๋ ฌํ™”, Kotlin์—์„œ ์ƒ์ˆ˜ ๋‹ค๋ฃจ๊ธฐ  (0) 2026.01.16
'Today I Learned ๐Ÿง' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [TIL-20260124] Spring Batch Reader ๊ตฌํ˜„
  • [TIL-20260122] ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ (Spring Environment, Kotlin buildList)
  • [TIL-20260117] Spring JPA ์ปฌ๋Ÿผ์— ์ฝ”๋ฉ˜ํŠธ ๋‹ฌ๊ธฐ
  • [TIL-260116] Spring Stomp ์ง๋ ฌํ™”, Kotlin์—์„œ ์ƒ์ˆ˜ ๋‹ค๋ฃจ๊ธฐ
ํ•ด๋‹ˆ ๐ŸŒฑ
ํ•ด๋‹ˆ ๐ŸŒฑ
๊ธฐ๋ก์ด ์ž์‚ฐ์ด๋‹ค ( •ฬ€แด—•ฬ )ูˆโœ๏ธ
  • ํ•ด๋‹ˆ ๐ŸŒฑ
    haeni.dev
    ํ•ด๋‹ˆ ๐ŸŒฑ
  • ๋งํฌ

    • github
    • velog
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (25)
      • ์šฐ์‚ฌ๊ธฐ ๊ฐœ๋ฐœ์ผ์ง€ ๐Ÿฐ (4)
      • Today I Learned ๐Ÿง (19)
      • ๋ถ„๋…ธ์˜ ํƒ€์ดํ•‘ ๋กœ๊ทธ ๐Ÿ”ฅ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    til
    ๊ฐœ๋ฐœ
    IT
    ๊ฐœ๋ฐœ์ž
    ์ฝ”ํ…Œ
    AWS
    springboot
    ci/cd
    ๋ฐฑ์—”๋“œ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
ํ•ด๋‹ˆ ๐ŸŒฑ
[TIL-20260118] JPA ๋ณ€๊ฒฝ ๊ฐ์ง€ (Dirty Checking)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”