๋ฐ์ํ
- 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: ์ง์ฐ ๋ก๋ฉ (์์์ ํ์ํ ๋ ๋ฐ๋ก ์กฐํ)
'๊ณต๋ถ > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [20250217] webclient ๊ธฐ๋ณธ ์์๋ก ์ฌ์ฉ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ! (0) | 2025.02.17 |
|---|---|
| [20250214] querydsl ๊ธฐ๋ณธ ์์๋ก ์ฌ์ฉ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ! (0) | 2025.02.14 |
| [20250213] 1:1, 1:n, n:m ํ ์ด๋ธ ๊ด๊ณ ์ ๋ฆฌ (0) | 2025.02.13 |
| [20250212] JPA n+1 ๋ฌธ์ (2) | 2025.02.12 |
| [~20250210] Spring ์ ๋ฌธ์ฃผ์ฐจ ํ๊ธฐ (2) | 2025.02.11 |