Package org.springframework.dao.support
Class DataAccessUtils
java.lang.Object
org.springframework.dao.support.DataAccessUtils
Miscellaneous utility methods for DAO implementations.
 
Useful with any data access technology.
- Since:
 - 1.0.2
 - Author:
 - Juergen Hoeller
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic intintResult(Collection<?> results) Return a unique int result from the given Collection.static longlongResult(Collection<?> results) Return a unique long result from the given Collection.static <T> TnullableSingleResult(Collection<T> results) Return a single result object from the given Collection.static <T> TobjectResult(Collection<?> results, Class<T> requiredType) Return a unique result object from the given Collection.static <T> TrequiredSingleResult(Collection<T> results) Return a single result object from the given Collection.static <T> TrequiredUniqueResult(Collection<T> results) Return a unique result object from the given Collection.static <T> TsingleResult(Collection<T> results) Return a single result object from the given Collection.static RuntimeExceptiontranslateIfNecessary(RuntimeException rawException, PersistenceExceptionTranslator pet) Return a translated exception if this is appropriate, otherwise return the given exception as-is.static <T> TuniqueResult(Collection<T> results) Return a unique result object from the given Collection. 
- 
Constructor Details
- 
DataAccessUtils
public DataAccessUtils() 
 - 
 - 
Method Details
- 
singleResult
@Nullable public static <T> T singleResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException Return a single result object from the given Collection.Returns
nullif 0 result objects found; throws an exception if more than 1 element found.- Parameters:
 results- the result Collection (can benull)- Returns:
 - the single result object, or 
nullif none - Throws:
 IncorrectResultSizeDataAccessException- if more than one element has been found in the given Collection
 - 
requiredSingleResult
public static <T> T requiredSingleResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException Return a single result object from the given Collection.Throws an exception if 0 or more than 1 element found.
- Parameters:
 results- the result Collection (can benullbut is not expected to containnullelements)- Returns:
 - the single result object
 - Throws:
 IncorrectResultSizeDataAccessException- if more than one element has been found in the given CollectionEmptyResultDataAccessException- if no element at all has been found in the given Collection
 - 
nullableSingleResult
@Nullable public static <T> T nullableSingleResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException Return a single result object from the given Collection.Throws an exception if 0 or more than 1 element found.
- Parameters:
 results- the result Collection (can benulland is also expected to containnullelements)- Returns:
 - the single result object
 - Throws:
 IncorrectResultSizeDataAccessException- if more than one element has been found in the given CollectionEmptyResultDataAccessException- if no element at all has been found in the given Collection- Since:
 - 5.0.2
 
 - 
uniqueResult
@Nullable public static <T> T uniqueResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException Return a unique result object from the given Collection.Returns
nullif 0 result objects found; throws an exception if more than 1 instance found.- Parameters:
 results- the result Collection (can benull)- Returns:
 - the unique result object, or 
nullif none - Throws:
 IncorrectResultSizeDataAccessException- if more than one result object has been found in the given Collection- See Also:
 
 - 
requiredUniqueResult
public static <T> T requiredUniqueResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException Return a unique result object from the given Collection.Throws an exception if 0 or more than 1 instance found.
- Parameters:
 results- the result Collection (can benullbut is not expected to containnullelements)- Returns:
 - the unique result object
 - Throws:
 IncorrectResultSizeDataAccessException- if more than one result object has been found in the given CollectionEmptyResultDataAccessException- if no result object at all has been found in the given Collection- See Also:
 
 - 
objectResult
public static <T> T objectResult(@Nullable Collection<?> results, @Nullable Class<T> requiredType) throws IncorrectResultSizeDataAccessException, TypeMismatchDataAccessException Return a unique result object from the given Collection. Throws an exception if 0 or more than 1 result objects found, of if the unique result object is not convertible to the specified required type.- Parameters:
 results- the result Collection (can benullbut is not expected to containnullelements)- Returns:
 - the unique result object
 - Throws:
 IncorrectResultSizeDataAccessException- if more than one result object has been found in the given CollectionEmptyResultDataAccessException- if no result object at all has been found in the given CollectionTypeMismatchDataAccessException- if the unique object does not match the specified required type
 - 
intResult
public static int intResult(@Nullable Collection<?> results) throws IncorrectResultSizeDataAccessException, TypeMismatchDataAccessException Return a unique int result from the given Collection. Throws an exception if 0 or more than 1 result objects found, of if the unique result object is not convertible to an int.- Parameters:
 results- the result Collection (can benullbut is not expected to containnullelements)- Returns:
 - the unique int result
 - Throws:
 IncorrectResultSizeDataAccessException- if more than one result object has been found in the given CollectionEmptyResultDataAccessException- if no result object at all has been found in the given CollectionTypeMismatchDataAccessException- if the unique object in the collection is not convertible to an int
 - 
longResult
public static long longResult(@Nullable Collection<?> results) throws IncorrectResultSizeDataAccessException, TypeMismatchDataAccessException Return a unique long result from the given Collection. Throws an exception if 0 or more than 1 result objects found, of if the unique result object is not convertible to a long.- Parameters:
 results- the result Collection (can benullbut is not expected to containnullelements)- Returns:
 - the unique long result
 - Throws:
 IncorrectResultSizeDataAccessException- if more than one result object has been found in the given CollectionEmptyResultDataAccessException- if no result object at all has been found in the given CollectionTypeMismatchDataAccessException- if the unique object in the collection is not convertible to a long
 - 
translateIfNecessary
public static RuntimeException translateIfNecessary(RuntimeException rawException, PersistenceExceptionTranslator pet) Return a translated exception if this is appropriate, otherwise return the given exception as-is.- Parameters:
 rawException- an exception that we may wish to translatepet- the PersistenceExceptionTranslator to use to perform the translation- Returns:
 - a translated persistence exception if translation is possible, or the raw exception if it is not
 
 
 -