UnsatisfiedDependencyException
Exception thrown when a bean depends on other beans or simple properties
that were not specified in the bean factory definition, although
dependency checking was enabled.

NonTransientDataAccessException
Root of the hierarchy of data access exceptions that are considered non-transient -
where a retry of the same operation would fail unless the cause of the Exception
is corrected.

RecoverableDataAccessException
Data access exception thrown when a previously failed operation might be able
to succeed if the application performs some recovery steps and retries the entire
transaction or in the case of a distributed transaction, the transaction branch.

class

TransientDataAccessException
Root of the hierarchy of data access exceptions that are considered transient -
where a previously failed operation might be able to succeed when the operation
is retried without any intervention by application-level functionality.

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,
a SQLException from JDBC we can't pinpoint more precisely.

IncorrectResultSetColumnCountException
Data access exception thrown when a result set did not have the correct column count,
for example when expecting a single column but getting 0 or more than 1 columns.

RemoteInvocationFailureException
RemoteAccessException subclass to be thrown when the execution
of the target method failed on the server side, for example
when a method was not found on the target object.

class

RemoteLookupFailureException
RemoteAccessException subclass to be thrown in case of a lookup failure,
typically if the lookup happens on demand for each method invocation.

class

RemoteProxyFailureException
RemoteAccessException subclass to be thrown in case of a failure
within the client-side proxy for a remote service, for example
when a method was not found on the underlying RMI stub.

HeuristicCompletionException
Exception that represents a transaction failure caused by a heuristic
decision on the side of the transaction coordinator.

class

IllegalTransactionStateException
Exception thrown when the existence or non-existence of a transaction
amounts to an illegal state according to the transaction propagation
behavior that applies.

class

InvalidIsolationLevelException
Exception that gets thrown when an invalid isolation level is specified,
i.e. an isolation level that the transaction manager implementation
doesn't support.

class

InvalidTimeoutException
Exception that gets thrown when an invalid timeout is specified,
that is, the specified timeout valid is out of range or the
transaction manager implementation doesn't support timeouts.