๐ Java & Spring & Kotlin/๐ฑ Spring3 [ Spring ] CascadeType.REMOVE์ orphanRemoval=true, ์๋ชป ์ฐ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ๋๋ค!! ๊ณต๋ถํ๊ฒ ๋ ๊ณ๊ธฐ๊ฐ์๋ฅผ ๋ฃ๋ค๊ฐ Cascade์ orphanRemoval์ ๋ํ ๋ด์ฉ์ด ๋์๋ค. ์ฒ์์๋ "์~ ์ด๋ฐ ๊ฑฐ๊ตฌ๋" ํ๊ณ ๋ฌด์ฌ์ฝ ๋์ด๊ฐ๋ ค ํ์ง๋ง, ๊ฐ์๊ฐ ์งํ๋ ์๋ก ๋จธ๋ฆฟ์์ ๋ฌผ์ํ๊ฐ ๊ฐ๋ ์ฐจ๊ธฐ ์์ํ๋ค."Cascade๊ฐ ๋ญ์ง? ์ด๊ฑธ ์ธ์ ์จ์ผ ํ์ง?", "orphanRemoval์ ๋ ๋ญ๋ฐ...?๋ผ๋ ์๊ฐ์ด ๊ผฌ๋ฆฌ์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ์๋ค.๊ฒฐ๊ตญ, ๊ฐ์๋ฅผ ๋ฃ๋ ๋ด๋ด ์ ํํ ์ดํดํ์ง ๋ชปํ ์ฑ๋ก ๋ฉํ๋ ์ง๋๊ฐ๊ณ ๋ง์๋ค."์ด๋๋ก ๋์ด๊ฐ๋ฉด ๋์ค์ ๋ ๋งํ ๊ฑฐ์ผ"๋ผ๋ ์๊ฐ์ด ๋จธ๋ฆฌ๋ฅผ ์ค์ณค๊ณ , ์ด๋ ๊ฒ ๋ ๊น์ ๊ฐ๋ ์ ์ ๋๋ก ์ ๋ฆฌํด๋ณด์๋ ๋ง์์ผ๋ก ๊ณต๋ถ๋ฅผ ์์ํ๊ฒ ๋์๋ค.Cascade์ orphanRemoval์ JPA์์ ๊ฝค ์ค์ํ ๊ฐ๋ ์ด์ง๋ง, ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๋๋ ๊ฑด "๋ง์ ์ฌ์ ๋ณด์ด๋๋ฐ, ๋ง์ ์ดํดํ๋ ค๋ฉด ์๊ฐ๋ณด๋ค ๋ณต์ก.. 2025. 1. 17. [ Spring ] AOP๋ฅผ ์ฌ์ฉํด์ ์ฝ๋ ๊ฐ๋ ์ฑ์ ๋์ฌ๋ณด์! ๊ณต๋ถํ๊ฒ ๋ ๊ณ๊ธฐํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋์, ํ์์ด AOP(Aspect-Oriented Programming)๋ฅผ ํ์ฉํด ๊ถํ ๊ฒ์ฌ๋ฅผ ๊ตฌํํ๋ ๋ชจ์ต์ ๋ณด๊ฒ ๋์๋ค. ์ฒ์์๋ AOP๋ฅผ ์ด์ฉํด ๋ณต์กํ ๋ก์ง์ ๊ฐ๊ฒฐํ๊ฒ ์ฒ๋ฆฌํ๋ ๋ชจ์ต์ด ๋๋ผ์ ๊ณ , ๋์์ ๋ด๊ฐ ์ง์ ๊ตฌํํ๊ธฐ์ ์ด๋ ต๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ํ์ง๋ง ํ์์ ์ฝ๋๋ฅผ ํจ๊ป ๋ถ์ํ๋ฉฐ ์๋ ๋ฐฉ์์ ์ดํดํ๋ ๊ณผ์ ์์, "๋๋ ๋ ธ๋ ฅํ๋ฉด ์ถฉ๋ถํ AOP๋ฅผ ํ์ฉํ ์ ์๊ฒ ๋ค"๋ ์์ ๊ฐ์ด ์๊ฒผ๋ค.์ดํ, AOP์ ๊ฐ๋ ๊ณผ ํ์ฉ ์ฌ๋ก๋ฅผ ๋ ๊น์ด ์ดํดํ๊ณ ์ถ๋ค๋ ์ด์ ์ด ์๊ฒผ๊ณ , ๊ด๋ จ ์๋ฃ๋ฅผ ์ฐพ์๋ณด๋ฉฐ ํ์ต์ ์์ํ๋ค. ์ด๋ฒ ๊ฒฝํ์ ๋จ์ํ ์๋ก์ด ๊ธฐ์ ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ๋์ด, ๋ด๊ฐ ๊ธฐ์ ์ ์ผ๋ก ์ฑ์ฅํ ์ ์๋ค๋ ๊ฐ๋ฅ์ฑ์ ํ์ธํ ๊ณ๊ธฐ๊ฐ ๋์๋ค.์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ฐ์ฅ ์ค์ํ ์์๋ฐ๋ก ๊ฐ๋ ์ฑ.. 2025. 1. 15. [ Spring ] ํธ๋์ญ์ .. ๋ค๊ฐ๊ฐ์๋ก ๋ฉ๊ฒ ๋๊ปด์ง๋ ์น๊ตฌ ํธ๋์ญ์ ์ด๋ ๊ณผ์ฐ ๋ฌด์์ผ๊น??ํ๋์ ์์ ๋จ์๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฌถ์ด์ฃผ๋ ์ญํ ์ ํด์ค๋ค!์ด๋ฅผ ํตํด์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ACID ์์ฑ์ ์งํฌ ์ ์๋๋ก ํ๋ค! (๋ฉด์ ์์ ๋์ค๋ ํ์ ์ง๋ฌธ์ด๋ค!!)์์์ฑ (Atomicity)์์ ์ด ๋ชจ๋ ์ฑ๊ณตํ๊ฑฐ๋, ํ๋๋ผ๋ ์คํจํ๋ฉด ์ ์ฒด๋ฅผ ๋กค๋ฐฑํ๋ค.ex) ์ก๊ธ ์, ๋์ด A ๊ณ์ข์์ ๋น ์ก์ง๋ง B ๊ณ์ข๋ก ๋ค์ด๊ฐ์ง ์์ผ๋ฉด ๋กค๋ฐฑํ๋ค.์ผ๊ด์ฑ (Consistency)์์ ์ ํ์ ๋ฐ์ดํฐ ์ํ๊ฐ ํญ์ ์ ํจํ๋๋ก ๋ณด์ฅํ๋ค.๊ฒฉ๋ฆฌ์ฑ (Isolation)ํธ๋์ญ์ ๊ฐ ์๋ก ๊ฐ์ญํ์ง ์๋๋ก ๊ฒฉ๋ฆฌ ์์ค์ ์ค์ ํ ์ ์๋ค.์ต์ ์ ๋ฐ๋ผ์ ์ค์ ์ ์ด๋ฆฌ์ ๋ฆฌ ์ ํ ์ ์๋ค.์ง์์ฑ (Durability)ํธ๋์ญ์ ์ด ์ฑ๊ณตํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋๋ค.โถ MySQL์ ๋ง๋ค ๋ ์ด ์์น์ ๋ชจ๋ ๊ณ ์ํด์ ๋ง๋ค์ด ๋จ๋ค. ์์ผ.. 2025. 1. 5. ์ด์ 1 ๋ค์