[Spring] ๊ณตํต ์์ธ ์ฒ๋ฆฌ
๐จ ์๋ฌ
ํ์๊ฐ์ ์ ํ์ ๋, ๋น์ฐํ ํ๋์ ๊ณ์ ์ด ์์ฑ๋๋ ๊ฒ์ ๊ธฐ๋ํ๋ค.
ํ์ง๋ง, ์ฐ์ฐ์น ์๊ฒ ๋ง์ฐ์ค ์ค๋์์ผ๋ก ์ฐ์ํด์ ํด๋ฆญํ๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ 2๊ฐ ์ด์์ ๊ฐ์ ๊ณ์ ์ด ์ ์ฅ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๐ ๋ถ์
์์ ๊ฐ์ด ๋์์ ์์ฒญ์ด ๋ณด๋ด์ง๋ ๊ฒฝ์ฐ, ์ฆ, ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์์ ๋์์ ์์ฒญ์ ๋ณด๋ธ๋ค๋ฉด, ์ค๋ณตํ์ธ๊ณผ ๋ณ๊ฐ๋ก ์ด์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์์ ๊นจ๋ฌ์๋ค.
๐ ํด๊ฒฐ
ํ์๊ฐ์ ์์๋ ์ฃผ๋ก ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ์ค๋ณต์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ฏ๋ก, ์ฌ์ฉ์ ์ด๋ฆ์ unique ์ ์ฝ์กฐ๊ฑด์ ์ถ๊ฐํ๋ค. ๊ทธ ํ, ์คํ ๋ง์ฐ์ค๋ฅผ ์ด์ฉํ์ฌ ์งง์ ์๊ฐ์ ๊ฐ์ ์์ฒญ์ ์ฌ๋ฌ ๊ฐ ๋ณด๋ด์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ํ์ธํ๋ ๋ค์๊ณผ ๊ฐ์๋ค.
DataIntegrityViolationException์ด ๋ฐ์ํ๋ ๊ฒ์ ํ์ธํ ์ ์๊ณ , ์ด๋ฅผ ๊ณตํต ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํด๊ฒฐํ๊ธฐ๋ก ํ๋ค.
@ControllerAdvice
public class ExceptionController {
@ExceptionHandler(DataIntegrityViolationException.class)
public String showError(){
return "error";
}
}
์คํ ๋ง์ฐ์ค๋ฅผ ์ด์ฉํ์ฌ ๋ค์ ์งง์ ์๊ฐ์ ์ฌ๋ฌ ๊ฐ์ ์์ฒญ์ ๋ณด๋ด๋ฉด, ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ํ์ฌ ์ค๋ฅ ํ์ด์ง๋ก ์ด๋ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ธํด๋ ๊ณ์ ์ด ํ ๊ฐ๋ง ๋ง๋ค์ด์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
๐ ๋ ํผ๋ฐ์ค
์๋ ํ์ธ์. Unique Index ๋ฐ์ดํฐ ์ ์ฅ์ ๋ํด์ ์ง๋ฌธ๋๋ฆฝ... - ์ธํ๋ฐ | ์ปค๋ฎค๋ํฐ ์ง๋ฌธ&๋ต๋ณ
๋๊ตฌ๋ ํจ๊ปํ๋ ์ธํ๋ฐ ์ปค๋ฎค๋ํฐ. ๋ชจ๋ฅด๋ฉด ๋ฌป๊ณ , ํด๋ต์ ์ฐพ์๋ณด์ธ์.
www.inflearn.com