๋ถ๋ชจ(๊ฒ์๋ฌผ) -> ์์(๋๊ธ) ๊ด๊ณ๋ก DB๊ฐ ์ค์ ๋์ด์์ ๋, ๋ถ๋ชจ ์ํฐํฐ๋ฅผ ์ง์ธ ๋ ๋จ๊ฒจ์ง๋ ์์ ์ํฐํฐ๊ฐ ์๋ค๋ฉด
๊ทธ ์์ ์ํฐํฐ๋ฅผ ๊ณ ์ ๊ฐ์ฒด๋ก ๋ณธ๋ค. ์ด๋ฅผ ๊ทธ๋๋ก ๋ ๊ฒฝ์ฐ Referential integrity constraint violation SQL ์์ธ๊ฐ ๋ฐ์ํ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ๊ณ ์ ๊ฐ์ฒด ์ ๊ฑฐ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋ค.
@OneToMany(mappedBy = "post", orphanRemoval = true)
private List<Comment> commentList = new ArrayList<>();
์ถ์ฒ : ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
๊ณ ์ ๊ฐ์ฒด ์ ๊ฑฐ๋ ์ฐธ์กฐ๊ฐ ์ ๊ฑฐ๋ ์ํฐํฐ๋ ๋ค๋ฅธ ๊ณณ์์๋ ์ฐธ์กฐํ์ง ์๋ ๊ณ ์ ๊ฐ์ฒด๋ก ๋ณด๊ณ ์ญ์ ํ๋ ๊ธฐ๋ฅ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐธ์กฐํ๋ ๊ณณ์ด ํ๋์ผ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํ๋ค. ๋ฐ๋ผ์ @OneToMany, @OneToOne์๋ง ์ฌ์ฉํ ์ ์๋ค.
+ ๋ถ๋ชจ ์ํฐํฐ๋ฅผ ์ ๊ฑฐํ๋ฉด ์์ ์ํฐํฐ๋ ํจ๊ป ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ค ~ CascadeType.REMOVE๋ฅผ ์ค์ ํ ๊ฒ๊ณผ ๊ฐ๋ค.
'Spring๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JPA ์ฐ๊ด๊ด๊ณ ๋งคํ ์๋ฌ ์ก๊ธฐ(1) (0) | 2023.01.30 |
---|---|
ํ ์คํธ ์ฝ๋(2) (0) | 2023.01.26 |
๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๋ ์์ ํ๊ฒ ๊ด๋ฆฌํ๊ธฐ(Primary, Replica) (0) | 2022.12.29 |
Spring Transaction (0) | 2022.12.29 |
Spring Exception (0) | 2022.12.29 |