@Embedded ๋ฅผ ์ฌ์ฉํ๋ฉด ์ํฐํฐ์ ๊ฒฝ์ฐ ๋ฐ๋์ protected ์ด์์ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ๋ง๋ค์ด ์ค์ผ ํ๋๋ฐ์, ์ด๋ JPA๊ฐ ๋ฆฌํ๋ ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ๊ฐ ๊ฐ์ฒด์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ ํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ/์์ /์ญ์ ํ ๋ ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์ ๋ํด ๊ฒช์๋ ๋ด์ฉ์ ํ ๋ฒ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
1. @Embedded์ ๊ธฐ๋ณธ ์์ฑ์
๊ฐ ๊ฐ์ฒด ๋ด๋ถ์ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ๋ง๋ค์ง ์์ผ๋ฉด ์๋์ ๊ฐ์ด ์์ฑ์๋ฅผ ๋ง๋ค๋ผ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค. ๋ฌผ๋ก ์ด๋ ๊ฒ ์์ธ๊ฐ ๋ฐ์ํด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋์ํฉ๋๋ค.
ํ์ง๋ง ์ค์ ๊ฐ์ ์ ์ฅํ๋ ๊ณผ์ ์์๋ ์์ธ๊ฐ ๋ฐ์ํ๋๋ฐ์, ์ด๋ฅผ ์คํํ๊ธฐ ์ํ ์ค์ ์ ๋จผ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ปจํธ๋กค๋ฌ์ ์๋น์ค, DTO๋ ์๋์ ๊ฐ์ต๋๋ค.
์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด๋ณด๊ฒ ์ต๋๋ค. ํฌ์คํธ ๋งจ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ ์ฆ, ๊ฐ ๊ฐ์ฒด์๋ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ํ์ํ๋ค๋ ๋ด์ฉ์ผ๋ก TagName์ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์ฃผ์์ฒ๋ฆฌ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ค๋ฅ์ ๋๋ค.
์ฃผ์์ ํ๊ณ ์ด๋ฅผ ์คํํด๋ณด๋ฉด ๊ฐ์ด ์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ฆ, ๊ฐ ๊ฐ์ฒด์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์์ด๋ ์กฐํ์ ๊ฐ์ ๋ฐ์ดํฐ์ ์ฝ์ /์์ /์ญ์ ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋์ํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ์์ ์์๋ ์์ธ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋๋ค.
2. Conclusion
๊ธฐ๋ณธ์ ์ผ๋ก @Embedded๊ฐ ๋ถ์ ๊ฐ ๊ฐ์ฒด๋ protected ์ด์์ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ๋ฐ๋์ ํ์ํฉ๋๋ค. ๋ง์ฝ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ ์์ ์๋ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
'๐ฅDEV > Java || Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
@Component์ @Configuration์ ์ฐจ์ด (0) | 2022.07.24 |
---|---|
FrontController ํจํด (0) | 2022.07.21 |
private ์์ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ (0) | 2022.07.17 |
@Embedded์ ๊ธฐ๋ณธ ์์ฑ์ (0) | 2022.07.14 |
๋ธ๋ฆฟ์ง ํจํด (0) | 2022.07.10 |
๋๊ธ