λ°˜μ‘ν˜•
변경감지 (Dirty Checking)

β€£ λ³€κ²½λœ μ—”ν‹°ν‹° λ‚΄μš©μ„ λ°μ΄ν„°λ² μ΄μŠ€μ— μžλ™μœΌλ‘œ λ°˜μ˜ν•΄μ£ΌλŠ” κΈ°λŠ₯.

 

em.save() 을 ν˜ΈμΆœν•˜μ§€ μ•Šμ•˜λŠ”λ° λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯이 λ˜μ—ˆλ‹€.

1. 데이터 μ €μž₯ (κ³Όκ±°λ‹‰λ„€μž„)

 

2. νŠΈλžœμž­μ…˜ μ‹œμž‘, User entity 을 μ‘°νšŒν•˜λ‹ˆ username μ—λŠ” κ³Όκ±°λ‹‰λ„€μž„

 

3. setUsername건으둜 λ³€κ²½  

 

4. λ°μ΄ν„°λ² μ΄μŠ€μ— 반영

β€£ νŠΈλžœμž­μ…˜ 컀밋 ν›„, flush (λ°μ΄ν„°λ² μ΄μŠ€ 동기화) ν•˜λ©΄μ„œ username 변경됨 → λ°μ΄ν„°λ² μ΄μŠ€ 반영 

 


μ°Έκ³ 

- 링크: https://cornarong.tistory.com/m/63

 

[JPA] λ³€κ²½ 감지(Dirty Checking) 와 병합(merge)

λ³€κ²½ κ°μ§€(Dirty Checking) μ™€ λ³‘ν•©( merge ) * μ€€μ˜μ† μƒνƒœ? - μ˜μ† μƒνƒœμ˜€λ‹€κ°€ λ”λŠ” μ˜μ†μ„± μ»¨ν…μŠ€νŠΈκ°€ κ΄€λ¦¬ν•˜μ§€ μ•ŠλŠ” μƒνƒœ - μ˜μ†μ„± μ»¨ν…μŠ€νŠΈλ‘œλΆ€ν„° λΆ„λ¦¬λœ μƒνƒœ * μ€€μ˜μ† μƒνƒœλ₯Ό λ§Œλ“œλŠ” 3가지 λ°©

cornarong.tistory.com

 

λ°˜μ‘ν˜•

'개발 > jpa' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[JPA] 객체지ν–₯ μ–Έμ–΄ - JPQL  (0) 2022.03.02
[JPA] 연관관계 맀핑 & ν”„λ‘μ‹œ  (0) 2022.02.21
[JPA] μ˜μ†μ„± 관리  (0) 2022.02.20

+ Recent posts