๊ณต๋ถ/TIL
[20250211] JPA ์ฌํ๊ณผ์ ํ๊ธฐ
dvlpsy๐ผ
2025. 2. 11. 10:48
๋ฐ์ํ
- Cascade ์ orphanRemoval ๋น๊ต
1. Cascade (์์์ฑ ์ ์ด)
cascade = CascadeType.REMOVE : ๋ถ๋ชจ ๊ฐ์ฒด์ ์ค์ ํ๊ณ
remove ์ ์์ ๊ฐ์ฒด๋ค๋ ๊ฐ์ด ์ญ์ ๋๋ค.
threadService.remove(newThread);
// ํ์ comments ๋ค๋ ๊ฐ์ด ์ญ์ ๋จ
2. orphanRemoval (๊ณ ์ ๊ฐ์ฒด ์ ๊ฑฐ)
orphanRemoval = true : ๋ถ๋ชจ ๊ฐ์ฒด๋ ๋จ์์๋๋ฐ ๋ถ๋ชจ๊ฐ์ฒด์์ ๋ฆฌ์คํธ๋ก ๊ฐ์ง๊ณ ์๋
์์ ๊ฐ์ฒด ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฆฌ์คํธ์์ ์ ๊ฑฐํ๋ ๊ฒ์ผ๋ก ์ค์ ํด๋น ์์ ๊ฐ์ฒด๊ฐ ์ญ์ ๋๋ค.
newThread.getComments().removeIf(comment -> comment.getUser().getId().equals(savedUser.getId());
// ํด๋น ์ฝ๋ฉํธ ์ญ์ ์ฟผ๋ฆฌ๊ฐ ์ํ๋จ
- Fetch (์กฐํ์์ )
EAGER: ์ฆ์ ๋ก๋ฉ (๋ถ๋ชจ ์กฐํ ์ ์์๋ ๊ฐ์ด ์กฐํ)
LAZY: ์ง์ฐ ๋ก๋ฉ (์์์ ํ์ํ ๋ ๋ฐ๋ก ์กฐํ)