๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅDEV/Java || Spring

@Embedded์™€ ๊ฐ’ ๊ฐ์ฒด

by bdd 2022. 7. 17.

@Embedded ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—”ํ‹ฐํ‹ฐ์˜ ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ protected ์ด์ƒ์˜ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด ์ค˜์•ผ ํ•˜๋Š”๋ฐ์š”, ์ด๋Š” JPA๊ฐ€ ๋ฆฌํ”Œ๋ ‰์…˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ’ ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์—†์–ด๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œํ• ๋•Œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ๊ฒช์—ˆ๋˜ ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

 

 

 

 

1. @Embedded์™€ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž


๊ฐ’ ๊ฐ์ฒด ๋‚ด๋ถ€์— ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค๋ผ๋Š” ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด๋ ‡๊ฒŒ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ž˜ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. 

 

 

 

 

 

 

 

ํ•˜์ง€๋งŒ ์‹ค์ œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ์š”, ์ด๋ฅผ ์‹คํ—˜ํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •์„ ๋จผ์ € ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ์™€ ์„œ๋น„์Šค, DTO๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

 

 

 

 

 

 

์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํฌ์ŠคํŠธ ๋งจ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ฆ‰, ๊ฐ’ ๊ฐ์ฒด์—๋„ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๋‚ด์šฉ์œผ๋กœ TagName์˜ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ฃผ์„์ฒ˜๋ฆฌ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. 

 

 

 

 

 

 

์ฃผ์„์„ ํ’€๊ณ  ์ด๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋ฉด ๊ฐ’์ด ์ž˜ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ’ ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์—†์–ด๋„ ์กฐํšŒ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…/์ˆ˜์ •/์‚ญ์ œ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ž˜ ๋™์ž‘ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ์ž‘์—…์—์„œ๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

2. Conclusion


๊ธฐ๋ณธ์ ์œผ๋กœ @Embedded๊ฐ€ ๋ถ™์€ ๊ฐ’ ๊ฐ์ฒด๋Š” protected ์ด์ƒ์˜ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์—†์œผ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๋Š” ์‹œ์ ์—๋Š” ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์‹ค์ œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

 

 

 

๋Œ“๊ธ€