๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Back-end ๋ฐ๋ธŒ์ฝ”์Šค/week 06 - 07 TIL (clone project)

[TIL] 221124 - SpringBoot Part2 ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ (๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ DB ์„ค๊ณ„)

by young-ji 2022. 11. 26.

SpringBoot Part2 ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ :๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ DB ์„ค๊ณ„ํ•˜๊ธฐ

 

โ€ป ์ฃผ๊ด€์ ์ธ ๊ธ€์ž…๋‹ˆ๋‹ค!

 

 

์‹ฌํ™”๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ, ๋‹จ์ง€ ๊ณผ์ œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๋ฉฐ ๊ฐœ๋ฐœ๊ณต์ˆ˜๋ฅผ ๋‚ฎ์ถ”๋ ค๋Š” ๋ฐฉ์‹ ๊ฐ™๋‹ค๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•˜๋‹ค.

์‹ฌํ™” ๊ณผ์ œ ์š”๊ตฌ์‚ฌํ•ญ

 

ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์€ ๊ธฐ์กด ํ…Œ์ด๋ธ” ๊ตฌ์กฐ

  • ๋ฐ”์šฐ์ฒ˜์™€ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„๊ฐ€ 1 : N ์ด๊ธฐ๋•Œ๋ฌธ์— ๊ตณ์ด ์ค‘๊ฐ„ ๋งคํ•‘ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋ฉ˜ํ† ๋‹˜ ๋ง์”€๋Œ€๋กœ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ถฉ์กฑํ• ์ˆ˜ ์žˆ๋Š”๋Œ€ ๊ตณ์ด ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ํ•„์š”์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

 

 

ํ•ด๋‹น ๊ตฌํ˜„ ๋ฐฉ์‹์ด ์šฐ๋ฆฌ๊ฐ€ ๊ทธํ† ๋ก ๋งํ•˜๋˜ ๊ฒฐํ•ฉ๋„์™€ ์‘์ง‘๋„๋ฅผ ๋†’์ด๋Š” ์ฝ”๋“œ์ธ๊ฐ€ ๋‹ค์‹œ ๊ณ ๋ฏผํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ๊ฐ™๋‹ค. ๋˜ํ•œ ์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ€์ ธ๊ฐ€๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋ฅผ ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค.

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

 

๊ธฐ์กด ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„์„ ํ•  ๊ฒฝ์šฐ, ๋ฐ”์šฐ์ฒ˜์™€ ๋„๋ฉ”์ธ์ด ๋„ˆ๋ฌด ๊ฐ•ํ•œ ์‘์ง‘๋„๋ฅผ ๊ฐ€์ ธ ๋”ฐ๋กœ ์ƒ๊ฐํ• ์ˆ˜ ์—†๋Š” ๊ฐœ๋…์ด๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง์„ ๊ณ ๋ฏผํ•  ํ•„์š”์—†์ด ํ™•์žฅ์„ฑ์„ ๊ฐ€์ ธ๊ฐ€์•ผํ•œ๋‹ค.

Voucher์™€ Customer์˜ ๊ด€๊ณ„๊ฐ€ ์‚ฌ๋ผ์กŒ์„ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž, Wallet ํ…Œ์ด๋ธ”์ด ๋”ฐ๋กœ ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ด€๊ณ„์— ๊ด€ํ•œ ๋ ˆ์ฝ”๋“œ๋งŒ ์‚ญ์ œํ•˜๋ฉด๋œ๋‹ค. Voucher์™€ Customer ๊ฐ์ฒด๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ผ์ด ์—†๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ๋ฐฉ์‹์—์„œ๋Š” ๊ด€๊ณ„๊ฐ€ ์‚ฌ๋ผ์กŒ์„๋•Œ Voucher ๋ ˆ์ฝ”๋“œ๊ฐ€ update๋˜์–ด์•ผํ•œ๋‹ค. ๊ฐ•ํ•œ ๊ฒฐํ•ฉ์ด ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค!

๋‘ ๊ฐ์ฒด๊ฐ€ ์ข…์†๊ด€๊ณ„์— ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋ณ„๊ฐœ์˜ ๊ฐ์ฒด์ด๊ธฐ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฐ•ํ•ฉ ๊ฒฐํ•ฉ์€ ์ ํ•ฉํ•˜์ง€์•Š๋‹ค. (์•„๋ฌด๋ฆฌ 1 : N์˜ ๊ด€๊ณ„์—ฌ๋„)

 

 

 

์ˆ˜์ •ํ•œ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ

 

VoucherWallet์ด๋ผ๋Š” mapping ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ํ•˜์˜€๋‹ค.

 

 

๋ฌผ๋ฆฌ์ ์ด์ง€ ์•Š์€ ๊ฐœ๋…์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€์•Š๋‹ค.

 

๋‚ด ๋ฆฌํŽ™ํ† ๋ง์ด ์ •๋‹ต์ธ์ง€๋Š” ์—ฌ์ „ํžˆ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ์กด ๊ตฌ์กฐ๋ณด๋‹ค ํ›จ์”ฌ ๊น”๋”ํ•˜๊ฒŒ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ฉฐ jpa๋‚˜ ๋ชจ๋†€๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ์ž ๊น์ž ๊น ๋‚˜์™”๋Š”๋ฐ ๋‹ค ์ดํ•ดํ•˜์ง„ ๋ชปํ•˜์˜€๋‹ค. ์ฐจ์ฐจ ๋ฐฐ์šฐ๋‹ค๋ณด๋ฉด ์ „๋ถ€ ์•Œ๊ฒŒ ๋ ๊ฑฐ๋ผ ์ƒ๊ฐํ•œ๋‹ค. ๐Ÿ™‚

๋ฌด์—‡์ธ๊ฐ€๋ฅผ ์ƒˆ๋กœ ์•Œ์•„๊ฐ„๋‹ค๋Š” ๊ฒƒ์ด ์•„์ง๊นŒ์ง„ ์ฆ๊ฑฐ์šด๊ฒƒ ๊ฐ™๋‹ค! 

 

 

 

ํ•จ๊ป˜๋ณด๋ฉด ์ข‹์„๋งŒํ•œ ํฌ์ŠคํŒ…

https://codingdog.tistory.com/entry/๋‹ค๋Œ€๋‹ค-๊ด€๊ณ„์—์„œ-๋งŽ์ด-์“ฐ๋Š”-mapping-table์„-๊ฐ„๋‹จํ•˜๊ฒŒ-์•Œ์•„๋ด…์‹œ๋‹ค

https://pangtrue.tistory.com/342#:~:text=๊ฐ์ฒด

 

๋Œ“๊ธ€