hades

[Spring] ๊ณตํ†ต ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ณธ๋ฌธ

๐Ÿƒ๐Ÿป‍โ™‚๏ธ ๊ธฐ๋ณธํ›ˆ๋ จ/Spring

[Spring] ๊ณตํ†ต ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

hades1 2024. 8. 26. 10:00

๐Ÿšจ ์—๋Ÿฌ

ํšŒ์›๊ฐ€์ž…์„ ํ–ˆ์„ ๋•Œ, ๋‹น์—ฐํžˆ ํ•˜๋‚˜์˜ ๊ณ„์ •์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๊ธฐ๋Œ€ํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ, ์šฐ์—ฐ์น˜ ์•Š๊ฒŒ ๋งˆ์šฐ์Šค ์˜ค๋™์ž‘์œผ๋กœ ์—ฐ์†ํ•ด์„œ ํด๋ฆญํ–ˆ๋Š”๋ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— 2๊ฐœ ์ด์ƒ์˜ ๊ฐ™์€ ๊ณ„์ •์ด ์ €์žฅ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. 

 

๐Ÿ” ๋ถ„์„

์œ„์™€ ๊ฐ™์ด ๋™์‹œ์— ์š”์ฒญ์ด ๋ณด๋‚ด์ง€๋Š” ๊ฒฝ์šฐ, ์ฆ‰, ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋™์‹œ์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค๋ฉด, ์ค‘๋ณตํ™•์ธ๊ณผ ๋ณ„๊ฐœ๋กœ ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

 

๐Ÿ‘Š ํ•ด๊ฒฐ

ํšŒ์›๊ฐ€์ž…์—์„œ๋Š” ์ฃผ๋กœ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์ค‘๋ณต์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋ฏ€๋กœ, ์‚ฌ์šฉ์ž ์ด๋ฆ„์— unique ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ทธ ํ›„, ์˜คํ† ๋งˆ์šฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์งง์€ ์‹œ๊ฐ„์— ๊ฐ™์€ ์š”์ฒญ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋ณด๋‚ด์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•˜๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค.

DataIntegrityViolationException์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ๊ณตํ†ต ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

@ControllerAdvice
public class ExceptionController {

    @ExceptionHandler(DataIntegrityViolationException.class)
    public String showError(){
        return "error";
    }
    
}

์˜คํ† ๋งˆ์šฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์‹œ ์งง์€ ์‹œ๊ฐ„์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ์˜ค๋ฅ˜ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™•์ธํ•ด๋„ ๊ณ„์ •์ด ํ•œ ๊ฐœ๋งŒ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“– ๋ ˆํผ๋Ÿฐ์Šค

https://www.inflearn.com/community/questions/59250/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-unique-index-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%80%EC%9E%A5%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

 

์•ˆ๋…•ํ•˜์„ธ์š”. Unique Index ๋ฐ์ดํ„ฐ ์ €์žฅ์— ๋Œ€ํ•ด์„œ ์งˆ๋ฌธ๋“œ๋ฆฝ... - ์ธํ”„๋Ÿฐ | ์ปค๋ฎค๋‹ˆํ‹ฐ ์งˆ๋ฌธ&๋‹ต๋ณ€

๋ˆ„๊ตฌ๋‚˜ ํ•จ๊ป˜ํ•˜๋Š” ์ธํ”„๋Ÿฐ ์ปค๋ฎค๋‹ˆํ‹ฐ. ๋ชจ๋ฅด๋ฉด ๋ฌป๊ณ , ํ•ด๋‹ต์„ ์ฐพ์•„๋ณด์„ธ์š”.

www.inflearn.com