๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ“š ์‹œ๋ฆฌ์ฆˆ/- ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA

๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋งˆ์น˜๋ฉฐ...

by Wonit 2021. 4. 12.

ํ•ด๋‹น ๊ธ€์€ ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์˜ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ธ€์˜ ๋‚ด์šฉ ์ค‘์— ์ƒ๋žต๋˜๋Š” ๋ง๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!


์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋งˆ์น˜๋ฉฐ

์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๊ธฐํšํ•˜๊ณ  ํฌ์ŠคํŒ…์„ ํ•ด๋‚˜๊ฐ€๋Š” ๋™์•ˆ JPA ์— ๋Œ€ํ•ด์„œ ๋‚˜ ์Šค์Šค๋กœ๋„ ๋” ๋งŽ์ด ์ฐพ์•„๋ณด๊ณ  ์•Œ๊ฒŒ ๋œ ์˜๋ฏธ์žˆ๋Š” ์‹œ๋ฆฌ์ฆˆ์ด๋‹ค.

 

๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ๋„์ง‘์–ด๋‚ด๋ ค ํ•˜๋‹ˆ ๋‚˜๋„ ์กฐ๊ธˆ ์• ๋งคํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์ด ์กด์žฌํ–ˆ์—ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์˜ˆ์ƒ ๋…์ž๋“ค์—๊ฒŒ ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ์ฃผ๋ฉด ์•ˆ๋œ๋‹ค๋Š” ์ƒ๊ฐ ํ•˜๋‚˜๋กœ ๋‹ค์‹œ ์ฑ…์„ ํŽผ์ณ๋ณด๊ณ  ๋“ค์—ˆ๋˜ ๊ฐ•์˜๋ฅผ ๋‹ค์‹œ ๋“ฃ๋‹ค๋ณด๋‹ˆ ์ฒ˜์Œ ๋ดค์„ ๋•Œ, ์ฒ˜์Œ ๋“ค์—ˆ์„ ๋•Œ ๋“ค๋ฆฌ์ง€ ์•Š๋˜ ๋‚ด์šฉ๋“ค๋„ ๋งŽ์ด ์ดํ•ด๊ฐ€ ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

 

์ด๋ฅผ ํ†ตํ•ด์„œ ๋Š๋‚€ ์ ์ด ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ,

 

์—ญ์‹œ ๊ฐœ๋ฐœ์ž๋Š” ๊ณต์œ ํ•˜๋ฉฐ ์„ฑ์žฅํ•˜๋Š” ๊ฒŒ ์ข‹๊ณ  ๋‚˜ ์—ญ์‹œ ๊ทธ๊ฒŒ ์ž˜ ๋งž๊ตฌ๋‚˜.. ๋ธ”๋กœ๊ทธ ํ•˜๊ธธ ์ž˜ ํ–ˆ๋‹ค.. ์‹ถ์—ˆ๋‹ค.

์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ์—๋Š” ๋ฌผ๋ก  ์ž˜๋ชป๋œ ์ •๋ณด ํ˜น์€ ๋ถ€์กฑํ•œ ์„ค๋ช…๋“ค์ด ์กฐ๊ธˆ ํฌํ•จ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ์˜ ๋ชฉํ‘œ๋Š” ์• ์ดˆ์— JPA ์™„์ „ ์ •๋ณต์ด ์•„๋‹Œ JPA์˜ ์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”๊ณ  JPA๋ฅผ ์‹ค์ œ๋กœ ์จ๋ณด๊ธฐ ์œ„ํ•œ ๋ชฉํ‘œ์ด๋ฏ€๋กœ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ํ•œ๋‹ค.

 

๋‚ด๊ฐ€ ์ •๋ณด๋ฅผ ์–ป์€ ๊ณณ

์šฐ์„ , ๊ตฌ๊ธ€์— ์กด์žฌํ•˜๋Š” ๋งŽ์€ ๋ธ”๋กœ๊ทธ์— ์—ฌ๋Ÿฌ ์„ค๋ช…๊ณผ ์˜๊ฐ์„ ๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ฑฐ๋“ค๊ณผ ์œ ํŠœ๋ฒ„๋“ค์—๊ฒŒ ๊ฐ์‚ฌ์˜ ์ธ์‚ฌ๋ฅผ ํ‘œํ•œ๋‹ค.

๋‚ด๊ฐ€ ์ •๋ณด๋ฅผ ์–ป์€ ๊ณณ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ฑ…

์šฐ์„  JPA์˜ ํ‘œ์ค€ ๋ฐ”์ด๋ธ”์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฑ…์€ ์ •๋ง ๊ผญ ๊ฐ•์ถ”ํ•œ๋‹ค.

 

์ฑ… ๊ตฌ์„ฑ์— ์ฝ”๋“œ๋“ค์ด ๋งŽ๊ณ  ์„ค๋ช…์ด ์ž์„ธํ•˜๊ฒŒ ๋‚˜์™€์žˆ์–ด์„œ ๊ฐ€๋ณ๊ฒŒ ์ง€ํ•˜์ฒ ํƒ€๋ฉฐ ์ฝ์„ ์ •๋„์˜ ์ˆ˜์ค€์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค.


๋˜ํ•œ ๋‹ค๋ฅธ ์ด๋ก  ์ฑ…๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‹ค๋ฌด ์ค‘์‹ฌ์ ์ธ ์„ค๋ช…์ด ์žˆ์–ด์„œ JPA์˜ ๋ชจ๋“  ๊ธฐ์ˆ ์„ ์„ค๋ช…ํ•˜๋‹ค๊ฐ€๋„ ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ•˜๋ฉด ๊ณผ๊ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๊ณ  ์–ธ์ง€ํ•ด์ค€๋‹ค.


์ด ์ ์ด ์•„์ฃผ ์ข‹์•˜์—ˆ๋‹ค.

๊ฐ•์˜

๊ฐ•์˜๋Š” ์กฐ๊ธˆ ๋น„์‹ผ ํŽธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ•์˜ ๊ตฌ์„ฑ์— ๋น„ํ•˜๋ฉด ์ •๋ง ํ˜œ์ž์Šค๋Ÿฌ์šด ๊ฐ€๊ฒฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 

์ผ๋‹จ ๊ฐ•์˜๋Š” ์ฑ…์„ ๋ฒ ์ด์Šค๋กœ ํ•˜๋Š”๋ฐ, ๊น€์˜ํ•œ๋‹˜์˜ ํŠน์œ ์˜ ๋งค๋ ฅ์„ ๋Š๋ผ๋ฉด์„œ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์–ด์„œ ํฅ๋ฏธ๋กญ๊ธฐ๊นŒ์ง€ ํ•œ๋‹ค.

 

์ฑ…์„ ํ†ตํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ธฐ๊ฐ€ ํž˜๋“  ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ถ”์ฒœํ•œ๋‹ค.

๊ณต์‹ ๋ฌธ์„œ

 

๊ณต์‹ ๋ฌธ์„œ๋Š” ์ฑ…์—์„œ ์„ค๋ช…์ด ๋ถ€์กฑํ•œ, ์ •ํ™•ํžˆ๋Š” ๋‚ด๊ฐ€ ๋” ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ฌ ๋•Œ ํ•œ ๋ฒˆ์”ฉ ๋“ค์–ด๊ฐ€์„œ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ๊ฐœ๋…์„ ์ฐธ๊ณ ํ–ˆ์—ˆ๋‹ค.

 

ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์™„์ฃผํ•˜์…จ๋‚˜์š”?

๋‚˜๋„ JPA์˜ ๋Œ€๊ฐ€๋‚˜ ํ˜น์€ JPA ๋Šฅ๋ ฅ์ž๊ฐ€ ์•„๋‹Œ ๋‹จ์ง€ ์ผ๊ฐœ์˜ ํ•™์ƒ์ผ ๋ฟ์ด๋‹ค.

 

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

 

์ด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์žฌ๋ฐŒ๊ฒŒ ์™„์ฃผํ–ˆ๋‹ค๋ฉด ์žฅ๋‹ดํ•˜๊ฑด๋ฐ JPA๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ๋” ์žฌ๋ฐŒ์„ ๊ฒƒ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋˜ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค.

 

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค๋กœ๋„ ์‚ฌ์‹ค ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ํ•˜๋‚˜๋Š” ์ถฉ๋ถ„ํžˆ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ง์ ‘ ๊ฒŒ์‹œํŒ๋„ ๋งŒ๋“ค์–ด๋ณด๊ณ  todolist ๋„ ๋งŒ๋“ค์–ด ๋ณด๋ฉด์„œ JPA๋ฅผ ๋ณธ์ธ์˜ ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ๋ฐ”๋ž€๋‹ค!

 


ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๊ธฐํšํ•˜๊ณ  ํฌ์ŠคํŒ…ํ•˜๋Š”๋ฐ ์•ฝ 1์ฃผ์ผ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.
1์ฃผ์ผ์˜ ์‹œ๊ฐ„๋™์•ˆ ๋‚˜๋„ ๋งŽ์ด ๋ฐฐ์šฐ๊ณ  ๋งŽ์ด ์–ป์–ด๊ฐ€๋Š” ์‹œ๊ฐ„์ด์—ˆ์–ด์š”
์ €์—๊ฒŒ ์ด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์—ฐ์žฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ํ•ด์ค€ ๋ธ”๋กœ๊ทธ ๋ชจ๋“  ๋ฐฉ๋ฌธ์ž์—๊ฒŒ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์˜ฌ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€