Tech Stack/Database2 [DB] [๋์์ฑ์ ์ด] ๋๊ด์ ๋ฝ๊ณผ ๋น๊ด์ ๋ฝ ๊ฒ์๊ธ(Post), ๋๊ธ(Comment) ์ข์์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ์ ์์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ๊ทผํด์ ์ฌ์ฉ์๊ฐ ์ข์์๋ฅผ ๋์์ ๋๋ฅด๋ ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํ๊ฒ ๋๋ค.์ถฉ๋์ด ๋ฐ์ ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฝ(Lock)์ ์ฌ์ฉํ์ฌ ์ถฉ๋์ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ๊ณผ Redis๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฝ(Lock)์ด ๋ฌด์์ธ์ง ๋จผ์ ์์ ๋ณด๋ ค๊ณ ํ๋ค. ์ด๋ฌํ ๋์์ฑ ๋ฌธ์ ๋ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋์์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ค๋ ๋ค์ํ ์์ฒญ๋ค์ ์ ์ ์ดํ๋ ๊ฒ์ ํ์์ ์ธ ์์ ์ ๋๋ค. ๋์์ฑ ์ ์ด๋ฅผ ์ํ ๋ ๊ฐ์ง ํต์ฌ์ ์ธ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋น๊ด์ ๋ฝ(pessimistic lock)๋น๊ด์ ๋ฝ์ ๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ธฐ ์ ์ ํด๋น ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ์ ๋ฏธ๋ฆฌ.. 2025. 9. 16. [JPA] [MySQL] ON DELETE CASCADE์ ์ํํธ ์ญ์ (Soft Delete) 1. ๋ฌธ์ ์ํฉ๊ฒ์๊ธ(Post)์ ์ญ์ ํ ๋, ๊ทธ ์์ ์๋ ๋๊ธ(Comment)๋ ํจ๊ป ์ญ์ ๋๋๋ก ๊ตฌํํ๊ณ ์ถ์๋ค.๊ฒ์์ ํ๋ค๊ฐ @OnDelete ์ด๋ ธํ ์ด์ ์ ์๊ฒ ๋์๊ณ , ์ด๊ฒ์ ์ฌ์ฉํ๋ฉด ๋ถ๋ชจ(Post)๋ฅผ ์ญ์ ํ ๋ ์์(Comment)๋ ๊ฐ์ด ์ญ์ ๋๋ค๊ณ ํ๋ค. ๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ฉํ์ง๋ง ๋ฌธ์ ๋ ๊ทธ๋๋ก ์๋ค.constraint FKh4c7lvsc298whoyd4w9ta25cr foreign key (post_id) references posts (id) ์ด ์ธ๋ํค์๋ ON DELETE CASCADE ์ต์ ์ด ์์๊ธฐ ๋๋ฌธ์, ๋ถ๋ชจ(Post)๋ฅผ ์ญ์ ํ๋ ค๊ณ ํ๋ฉด ์์(Comment)์ด ๋จ์์ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.Cannot delete or update a parent row: a fo.. 2025. 9. 10. ์ด์ 1 ๋ค์