코딩, 개발에 대한 기록 저장소

JAVA DuplicateKeyException (DB 무결성 제약 조건에 위배)

DB에 Primary Key로 설정되어 있는 속성이 중복될 경우 발생하는 에러

Primary Key로 설정된 속성이 중복된 데이터를 DB에 삽입하려 하면 다음과 같은 에러가 발생한다:

java.lang.Object
 java.lang.Throwable
  java.lang.Exception
   java.lang.RuntimeException
    org.springframework.core.NestedRuntimeException
     org.springframework.dao.DataAccessException
      org.springframework.dao.NonTransientDataAccessException
       org.springframework.dao.DataIntegrityViolationException
        org.springframework.dao.DuplicateKeyException

이는 관계형 데이터베이스에서 기본키(Primary Key) 제약조건을 위반한 경우 발생하는 예외이다. 테이블 행의 무결성을 유지하기 위한 보호 장치라 할 수 있다.

이 에러가 발생했다면 DB 로그를 확인하여 기본키가 겹치는 입력이 있었는지 파악해야 한다.