Spring/๐Ÿ”ฅ[spring]์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ_๊ตฌ๋ฉ๊ฐ€๊ฒŒ ์ฝ”๋”ฉ๋‹จ

4.4.1 ๋“ฑ๋ก๊ณผ DTO๋ฅผ ์—”ํ‹ฐํ‹ฐ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

1son 2023. 3. 3. 10:28

๊ตฌํ˜„ํด๋ž˜์Šค์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” dtoToEntity()๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. 

GuestbookServiceImpl ํด๋ž˜์Šค์—์„œ๋Š” ์ด๋ฅผ ํ™œ์šฉํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌ๋˜๋Š” GuestbookDTO๋ฅผ ๋ณ€ํ™˜ํ•ด๋ณด๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. 

 

 

์„œ๋น„์Šค ๊ณ„์ธต์˜ ํ…Œ์ŠคํŠธ

 

ํ…Œ์ŠคํŠธ ์ž‘์—…์„ ํ†ตํ•ด์„œ ํ™•์ธํ•˜๊ณ  ์ดํ›„์— ์ปจํŠธ๋กค๋Ÿฌ์™€ ์—ฐ๋™์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. 

์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์ง€๋Š” ์•Š์ง€๋งŒ 

GuestbookDTO๋ฅผ Guestbook์—”ํ‹ฐํ‹ฐ๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด GuestbookServiceImpl ํด๋ž˜์Šค๋ฅผ ์ˆ˜์ •ํ•ด์„œ ์‹ค์ œ๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ƒˆ๋กœ์šด ๋ฒˆํ˜ธ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. 

 

 

4.5 ๋ชฉ๋ก์ฒ˜๋ฆฌ 

 

-ํ™”๋ฉด์—์„œ ํ•„์š”ํ•œ ๋ชฉ๋ก ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ DTO์ƒ์„ฑ

-DTO๋ฅผ Pageable ํƒ€์ž…์œผ๋กœ ์ „ํ™˜

-ํ™”๋ฉด์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด DTO์˜ ๋ฆฌ์ŠคํŠธ ๋“ฑ์œผ๋กœ ๋ณ€ํ™˜

-ํ™”๋ฉด์— ํ•„์š”ํ•œ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ์ฒ˜๋ฆฌ

 

4.5.1 ๋ชฉ๋ก ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ DTO

 

๋ชฉ๋ก์ฒ˜๋ฆฌ ์ž‘์—…์€ ๋‚˜์ค‘์— ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๋‹ค. 

์žฌ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์ž. 

 

ํŽ˜์ด์ง€ ์š”์ฒญ์ฒ˜๋ฆฌ DTO(PageRequestDTO)

PageRequestDTO๋Š” ๋ชฉ๋ก ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ 

์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. 

 

PageRequestDTO์˜ ์ง„์งœ ๋ชฉ์ ์€ JPA์ชฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” Pageableํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

ํŽ˜์ด์ง€ ๊ฒฐ๊ณผ ์ฒ˜๋ฆฌDTO(PageResultDTO)

JPA๋ฅผ ์ด์šฉํ•˜๋Š” Ropository์—์„œ๋Š” ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ Page<Entity>ํƒ€์ž…์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋„ ๋ณ„๋„์˜ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ฒ˜๋ฆฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. 

์ฒ˜๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋Š” ํฌ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 

 

-Page<Entity>์˜ ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋“ค์„ DTO๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋‹ด์•„ ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

-ํ™”๋ฉด ์ถœ๋ ฅ์— ํ•„์š”ํ•œ ํŽ˜์ด์ง€ ์ •๋ณด๋“ค์„ ๊ตฌ์„ฑํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

4.5.2 ์„œ๋น„์Šค ๊ณ„์ธต์—์„œ๋Š” ๋ชฉ๋ก ์ฒ˜๋ฆฌ

 

 

 

 

 

https://link.coupang.com/a/UtQhs

 

์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."