๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/Spring

[Spring] DTO์™€ Entity, ์™œ ๋ถ„๋ฆฌํ•ด์„œ ์‚ฌ์šฉํ• ๊นŒ?

by HanaV 2023. 6. 29.
728x90

ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๊ฐ€ controller์—์„œ reviewCheck ๋ผ๋Š” ๊ฐ’์„ Y๋กœ ๋ณ€๊ฒฝ์‹œ์ผœ์•ผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค๊ฐ€ ๋“  ์˜๋ฌธ์ด๋‹ค.

//Controller
//๋ฆฌ๋ทฐ ๋“ฑ๋ก ์—ฌ๋ถ€ ์ฒดํฌ
service.regReviewCheck(reviewDTO);
//ServiceImpl
//๋ฆฌ๋ทฐ ๋“ฑ๋ก ์—ฌ๋ถ€ ์ฒดํฌ
	@Override
	public void regReviewCheck(ReviewDTO reviewDTO) {
		Optional<RegisterEntity> registerEntity = registerRepository.findByUseridAndClassCode(reviewDTO.getUserid(), reviewDTO.getClassCode());
		RegisterEntity register = registerEntity.get();
		register.setReviewCheck("Y");		
		registerRepository.save(register);
	}

์ด๋ ‡๊ฒŒ service์—์„œ register.setReviewCheck('Y')๋ฅผ ํ†ตํ•ด์„œ reviewCheck๋ฅผ Y๋กœ ๋ณ€๊ฒฝ์‹œ์ผœ์ค„ ์ˆ˜๋„ ์žˆ๊ณ ,

//๋ฆฌ๋ทฐ ๋“ฑ๋ก ์—ฌ๋ถ€ ์ฒดํฌ
registerDTO.setReviewCheck('Y');

๊ทธ๋ƒฅ DTO์— reviewCheck๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ setReviewCheck('Y')๋กœ ๋ณ€๊ฒฝ์‹œ์ผœ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

๋‘˜ ๋‹ค ๊ฐ€๋Šฅ์€ ํ•˜์ง€๋งŒ DTO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ํ›จ์”ฌ ์งง๊ณ  ํŽธํ•œ๋ฐ, ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์„ ์“ฐ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ์ฐพ์•„๋ณด์•˜๋‹ค.

 

DTO์™€ Entity

DTO(Data Transfer Object)๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก๋งŒ์„ ์œ„ํ•œ ๊ฐ์ฒด๋กœ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค, ์™ธ๋ถ€๋กœ ๋…ธ์ถœ ์‹œ ๊ณ„์ธต ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋†’์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.

Entity๋Š” ๋กœ์ง(๋ฉ”์„œ๋“œ)๊ณผ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋ฅผ ํฌํ•จํ•œ๋‹ค. ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ์•Š์•„์„œ ์™ธ๋ถ€ ๊ณ„์ธต์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค,.

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ๋ณด์—ฌ์ฃผ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ๋•Œ๋Š” DTO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•˜๊ณ ,
๋ฐ์ดํ„ฐ๊ฐ€ ๋กœ์ง์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” Entity๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•˜๋‹ค.


์ด๋ ‡๊ฒŒ ๋ถ„๋ฆฌํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์ด ์žˆ๋‹ค.


1. ๊ฒฐํ•ฉ๋„๋ฅผ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค

 ์—”ํ‹ฐํ‹ฐ์™€ DTO๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋กœ์˜ ๋ณ€ํ™”์— ์˜ํ–ฅ์„ ๋œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์—”ํ‹ฐํ‹ฐ์˜ ๋‚ด๋ถ€ ๊ตฌํ˜„์ด ๋ฐ”๋€Œ๋”๋ผ๋„ DTO์˜ ๊ตฌ์กฐ๋‚˜ ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

2. ์œ ์—ฐ์„ฑ์ด ์ฆ๊ฐ€ํ•œ๋‹ค

 ์—”ํ‹ฐํ‹ฐ๋Š” ๋กœ์ง์„ ํฌํ•จํ•œ ๋„๋ฉ”์ธ ๋ชจ๋ธ์˜ ๊ฐœ์ฒด์ด๊ณ , DTO๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ๋ชจ๋ธ์˜ ๊ฐœ์ฒด์ด๋‹ค. ์—”ํ‹ฐํ‹ฐ์™€ DTO๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋„๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ชจ๋ธ ๊ฐ๊ฐ์„ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜์ •ํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ํ‘œํ˜„์˜ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค

 ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด์„œ๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์— ์ข…์†๋˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ DTO๊ฐ€ ์“ฐ์ธ๋‹ค.
 ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ํšŒ์› ์ •๋ณด๋ฅผ ๋‹ด๋Š” member๋ผ๋Š” ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์žˆ๋‹ค. ์ด ์—”ํ‹ฐํ‹ฐ์—๋Š” ์‚ฌ์šฉ์ž์˜ ์•„์ด๋””, ์ด๋ฆ„, ์ด๋ฉ”์ผ, ์ฃผ์†Œ, ์„ฑ๋ณ„ ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•„์ด๋”” ์ฐพ๊ธฐ๋ฅผ ์ง„ํ–‰ํ•ด์„œ ์•„์ด๋””๋ฅผ ๋…ธ์ถœ์‹œํ‚ค๋ ค๋ฉด ์ด๋ฆ„๊ณผ ์•„์ด๋””๋งŒ ํ•„์š”ํ•˜๋‹ค. ์ด ๋•Œ ์—”ํ‹ฐํ‹ฐ ์ „์ฒด๋ฅผ ์ „์†กํ•˜์ง€ ์•Š๊ณ  DTO์— ์ด๋ฆ„๊ณผ ์•„์ด๋””๋งŒ ๋‹ด์•„์„œ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—”ํ‹ฐํ‹ฐ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ๋‚ฎ์ถ”๋ฉด์„œ, ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ! DTO๋ผ๊ณ  ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต์„ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ DTO๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

DTO๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์„ค๊ณ„๋˜๊ณ , ์ฃผ์š” ๋ชฉ์ ์ด ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์ด๋‚˜ ๊ตํ™˜์„ ์œ„ํ•œ ์šฉ๋„์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฌํ•œ ์šฉ๋„๋กœ ์“ฐ๋Š” ๊ฒŒ ์œ„์˜ ์žฅ์ ๋“ค๋„ ํฌํ•จํ•˜๋ฉด์„œ ๋ฐ”๋žŒ์งํ•  ๋ฟ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๋•Œ์— ๋”ฐ๋ผ์„œ๋Š” DTO์— ๊ฐ€๊ณต ์ž‘์—…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ๋Œ€ํ‘œ์ ์ธ ํ•˜๋‚˜๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€๊ณต๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ ํ•˜์ดํ”ˆ์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜, ํŠน์ • ํ˜•์‹์— ๋งž๊ฒŒ ๊ฐ€๊ณตํ•˜๋Š” ๋“ฑ์˜ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.
728x90

"); wcs_do();