org.springframework.dao.annotation

## Class PersistenceExceptionTranslationAdvisor

- java.lang.Object
- - org.springframework.aop.support.AbstractPointcutAdvisor
  - - org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor

- All Implemented Interfaces:
    Serializable, Advisor, PointcutAdvisor, Ordered

      public class PersistenceExceptionTranslationAdvisor
      extends AbstractPointcutAdvisor

  Spring AOP exception translation aspect for use at Repository or DAO layer level. Translates native persistence exceptions into Spring's DataAccessException hierarchy, based on a given PersistenceExceptionTranslator.
  Since:
    2.0
  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `DataAccessException`, `PersistenceExceptionTranslator`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PersistenceExceptionTranslationAdvisor(PersistenceExceptionTranslator persistenceExceptionTranslator, Class<? extends Annotation> repositoryAnnotationType)` Create a new PersistenceExceptionTranslationAdvisor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Advice` | `getAdvice()` Return the advice part of this aspect.
    `Pointcut` | `getPointcut()` Get the Pointcut that drives this advisor.

    - ### Methods inherited from class org.springframework.aop.support.AbstractPointcutAdvisor

      `equals, getOrder, hashCode, isPerInstance, setOrder`

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

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PersistenceExceptionTranslationAdvisor

          public PersistenceExceptionTranslationAdvisor(PersistenceExceptionTranslator persistenceExceptionTranslator,
                                                Class<? extends Annotation> repositoryAnnotationType)

      Create a new PersistenceExceptionTranslationAdvisor.
      Parameters:
        `persistenceExceptionTranslator` - the PersistenceExceptionTranslator to use
        `repositoryAnnotationType` - the annotation type to check for

  - ### Method Detail

    - #### getAdvice

          public Advice getAdvice()

      Description copied from interface: `Advisor`
      Return the advice part of this aspect. An advice may be an interceptor, a before advice, a throws advice, etc.
      Returns:
        the advice that should apply if the pointcut matches
      See Also:
        `MethodInterceptor`, `BeforeAdvice`, `ThrowsAdvice`, `AfterReturningAdvice`

    - #### getPointcut

          public Pointcut getPointcut()

      Description copied from interface: `PointcutAdvisor`
      Get the Pointcut that drives this advisor.