# Uses of Class
org.springframework.dao.NonTransientDataAccessException

Packages that use NonTransientDataAccessException
Package
Description
org.springframework.dao
Exception hierarchy enabling sophisticated error handling independent of the data access approach in use.

## Uses of NonTransientDataAccessException in org.springframework.dao

Subclasses of NonTransientDataAccessException in org.springframework.dao
Modifier and Type
Class
Description
`class`
`CleanupFailureDataAccessException`
Deprecated.
as of 6.0.3 since it is not in use within core JDBC/ORM support
`class`
`DataAccessResourceFailureException`
Data access exception thrown when a resource fails completely: for example, if we can't connect to a database using JDBC.
`class`
`DataIntegrityViolationException`
Exception thrown when an attempt to execute an SQL statement fails to map the given data, typically but no limited to an insert or update data results in violation of an integrity constraint.
`class`
`DataRetrievalFailureException`
Exception thrown if certain expected data could not be retrieved, for example, when looking up specific data via a known identifier.
`class`
`DuplicateKeyException`
Exception thrown when an attempt to insert or update data results in violation of a primary key or unique constraint.
`class`
`EmptyResultDataAccessException`
Data access exception thrown when a result was expected to have at least one row (or element) but zero rows (or elements) were actually returned.
`class`
`IncorrectResultSizeDataAccessException`
Data access exception thrown when a result was not of the expected size, for example when expecting a single row but getting 0 or more than 1 rows.
`class`
`IncorrectUpdateSemanticsDataAccessException`
Data access exception thrown when something unintended appears to have happened with an update, but the transaction hasn't already been rolled back.
`class`
`InvalidDataAccessApiUsageException`
Exception thrown on incorrect usage of the API, such as failing to "compile" a query object that needed compilation before execution.
`class`
`InvalidDataAccessResourceUsageException`
Root for exceptions thrown when we use a data access resource incorrectly.
`class`
`NonTransientDataAccessResourceException`
Data access exception thrown when a resource fails completely and the failure is permanent.
`class`
`PermissionDeniedDataAccessException`
Exception thrown when the underlying resource denied a permission to access a specific element, such as a specific database table.
`class`
`TypeMismatchDataAccessException`
Exception thrown on mismatch between Java type and database type: for example on an attempt to set an object of the wrong type in an RDBMS column.
`class`
`UncategorizedDataAccessException`
Normal superclass when we can't distinguish anything more specific than "something went wrong with the underlying resource": for example, an SQLException from JDBC we can't pinpoint more precisely.