๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’Š Java & Kotlin & Spring/- spring framework +

[Spring & SpringBoot-JPA] DB ์—ฐ๊ด€๊ด€๊ณ„ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

by Wonit 2020. 2. 2.

JPA๋ฅผ ์ด์šฉํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ๋Š” ๋‹น์—ฐํžˆ๋„ DB๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋‹ค. ๊ทธ๋Ÿผ DB๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ SoftWare ๊ณตํ•™์ ์ธ ์ ‘๊ทผ์œผ๋กœ DB ์—ฐ๊ด€ ๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค.

software ๊ณตํ•™์€ CS์˜ ๊ธฐ๋ณธ ์†Œ์–‘์ด๋ฏ€๋กœ ํ˜น์‹œ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์„ ํ•™์Šตํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์€ software ๊ณตํ•™ ์ •๋ณตํ•˜๊ธฐ ํฌ์ŠคํŒ… ์—์„œ ํฌ์ŠคํŒ…์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.

DB ์—ฐ๊ด€๊ด€๊ณ„๋ž€?

์˜ˆ๋ฅผ ๋“ค์–ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

์‚ฌ์šฉ์ž๊ฐ€ item์„ ๊ตฌ๋งคํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋‹ค์Œ์„ ๋งŒ์กฑ์‹œ์ผœ ๋ณด์ž.

  • ์‚ฌ์šฉ์ž๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์•„์ดํ…œ์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ํ•ด๋‹น ์•„์ดํ…œ์€ ๋ช‡ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ๋ฌธํ–ˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค.

์ด๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์ด์šฉํ•œ๋‹ค.

 

์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด user์˜ id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ๊ฐ–๊ณ  item์˜ id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ๊ฐ–๋Š” ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ, ์ง๊ด€์  ์ดํ•ด๋ฅผ ์œ„ํ•ด ์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ์™€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ๋น„๊ตํ•ด๋ณด์ž

 

์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ

์›๋ž˜๋Š” ์™ธ๋ž˜ํ‚ค๋กœ ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•˜์ง€๋งŒ ์ดํ•ด๋ฅผ ์œ„ํ•ด colum ๋ช…์„ ์ž„์˜๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์™ธ๋ž˜ํ‚ค๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋œ๋‹ค๋ฉด, ํ•œ ๋ช…์˜ user๋Š” ํ•œ ๊ฐœ์˜ item ๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์ด๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” user์˜ id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ๊ฐ–๊ณ  item์˜ id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ๊ฐ–๋Š” ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด ์—ฐ๊ด€๊ด€ใ„ฑใ…–๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ

 

๋ณด์ด๋‹ค ์‹ถ์ด order_list๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ๊ฐ๊ฐ user๊ณผ item์˜ id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ๊ฐ–๋Š” ์นผ๋Ÿผ์„ ํฌํ•จ์‹œ์ผœ์ค€๋‹ค.

 

๊ทธ๋Ÿผ order_list์—์„œ user_id ์นผ๋Ÿผ์— ๋Œ€ํ•œ read๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  order_list๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

 

์ฐธ๊ณ ๋กœ ์—ฌ๊ธฐ์„œ Forward Engineer์„ ํด๋ฆญํ•˜๋ฉด 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ์„ฑ์ด ๋œ๋‹ค.

๋Œ“๊ธ€