๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์˜์†์„ฑ ์ปจํ…์ŠคํŠธ1

[Spring] JPA ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ ์ดํ•ดํ•˜๊ธฐ ๐Ÿค” ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ž€? JPA ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ (Persistence Context) ๋ž€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ํ™˜๊ฒฝ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์—์„œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ์˜์—ญ์ž…๋‹ˆ๋‹ค. EntityManager ๋กœ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•˜๋ฉด EntityManager ๋Š” ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ซ ์—”ํ‹ฐํ‹ฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ์—”ํ‹ฐํ‹ฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ์—”ํ‹ฐํ‹ฐ์—๋Š” 4๊ฐ€์ง€ ์ƒํƒœ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋น„์˜์†(new/transient) : ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ ์ „ํ˜€ ๊ด€๊ณ„๊ฐ€ ์—†๋Š” ์ƒํƒœ ์˜์†(managed) : ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅ๋œ ์ƒํƒœ (์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์˜ํ•ด ๊ด€๋ฆฌ๋œ๋‹ค๋Š” ๋œป) ์ค€์˜์†(detached) : ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅ๋˜์—ˆ๋‹ค๊ฐ€ ๋ถ„๋ฆฌ๋œ ์ƒํƒœ ์‚ญ์ œ(removed) : ์‚ญ์ œ๋œ ์ƒํƒœ ๐Ÿซง ๋น„์˜์†.. 2023. 6. 27.