org.springframework.dao

## Class DataIntegrityViolationException

- 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

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    DuplicateKeyException

      public class DataIntegrityViolationException
      extends NonTransientDataAccessException

  Exception thrown when an attempt to insert or update data results in violation of an integrity constraint. Note that this is not purely a relational concept; integrity constraints such as unique primary keys are required by most database types.

  Serves as a superclass for more specific exceptions, e.g. `DuplicateKeyException`. However, it is generally recommended to handle `DataIntegrityViolationException` itself instead of relying on specific exception subclasses.

  Author:
    Rod Johnson
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DataIntegrityViolationException(String msg)` Constructor for DataIntegrityViolationException.
    `DataIntegrityViolationException(String msg, Throwable cause)` Constructor for DataIntegrityViolationException.

  - ### Method Summary

    - ### Methods inherited from class org.springframework.core.NestedRuntimeException

      `contains, getMessage, getMostSpecificCause, getRootCause`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DataIntegrityViolationException

          public DataIntegrityViolationException(String msg)

      Constructor for DataIntegrityViolationException.
      Parameters:
        `msg` - the detail message

    - #### DataIntegrityViolationException

          public DataIntegrityViolationException(String msg,
                                                 Throwable cause)

      Constructor for DataIntegrityViolationException.
      Parameters:
        `msg` - the detail message
        `cause` - the root cause from the data access API in use