# Hierarchy For All Packages

Package Hierarchies:

- org.springframework.dao,
- org.springframework.dao.annotation,
- org.springframework.dao.support,
- org.springframework.jca.endpoint,
- org.springframework.jca.support,
- org.springframework.transaction,
- org.springframework.transaction.annotation,
- org.springframework.transaction.config,
- org.springframework.transaction.event,
- org.springframework.transaction.interceptor,
- org.springframework.transaction.jta,
- org.springframework.transaction.reactive,
- org.springframework.transaction.support

## Class Hierarchy

- java.lang.Object
  - org.springframework.beans.factory.xml.AbstractBeanDefinitionParser (implements org.springframework.beans.factory.xml.BeanDefinitionParser)
    - org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
      - org.springframework.transaction.config.JtaTransactionManagerBeanDefinitionParser
  - org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource (implements org.springframework.context.EmbeddedValueResolverAware, org.springframework.transaction.interceptor.TransactionAttributeSource)
    - org.springframework.transaction.annotation.AnnotationTransactionAttributeSource (implements java.io.Serializable)
  - org.springframework.jca.endpoint.AbstractMessageEndpointFactory (implements org.springframework.beans.factory.BeanNameAware, jakarta.resource.spi.endpoint.MessageEndpointFactory)
    - org.springframework.jca.endpoint.GenericMessageEndpointFactory
  - org.springframework.jca.endpoint.AbstractMessageEndpointFactory.AbstractMessageEndpoint (implements jakarta.resource.spi.endpoint.MessageEndpoint)
  - org.springframework.transaction.support.AbstractPlatformTransactionManager (implements org.springframework.transaction.ConfigurableTransactionManager, org.springframework.transaction.PlatformTransactionManager, java.io.Serializable)
    - org.springframework.transaction.jta.JtaTransactionManager (implements org.springframework.beans.factory.InitializingBean, java.io.Serializable, org.springframework.transaction.jta.TransactionFactory)
  - org.springframework.transaction.support.AbstractPlatformTransactionManager.SuspendedResourcesHolder
  - org.springframework.aop.support.AbstractPointcutAdvisor (implements org.springframework.core.Ordered, org.springframework.aop.PointcutAdvisor, java.io.Serializable)
    - org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor (implements org.springframework.beans.factory.BeanFactoryAware)
      - org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor
    - org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor
    - org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor
  - org.springframework.transaction.reactive.AbstractReactiveTransactionManager (implements org.springframework.transaction.ConfigurableTransactionManager, org.springframework.transaction.ReactiveTransactionManager, java.io.Serializable)
  - org.springframework.transaction.reactive.AbstractReactiveTransactionManager.SuspendedResourcesHolder
  - org.springframework.transaction.annotation.AbstractTransactionManagementConfiguration (implements org.springframework.context.annotation.ImportAware)
    - org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration
  - org.springframework.transaction.support.AbstractTransactionStatus (implements org.springframework.transaction.TransactionStatus)
    - org.springframework.transaction.support.DefaultTransactionStatus
    - org.springframework.transaction.support.SimpleTransactionStatus
  - org.springframework.context.annotation.AdviceModeImportSelector<A> (implements org.springframework.context.annotation.ImportSelector)
    - org.springframework.transaction.annotation.TransactionManagementConfigurationSelector
  - org.springframework.context.event.ApplicationListenerMethodAdapter (implements org.springframework.context.event.GenericApplicationListener)
    - org.springframework.transaction.event.TransactionalApplicationListenerMethodAdapter (implements org.springframework.transaction.event.TransactionalApplicationListener<E>)
  - org.springframework.dao.support.ChainedPersistenceExceptionTranslator (implements org.springframework.dao.support.PersistenceExceptionTranslator)
  - org.springframework.transaction.interceptor.CompositeTransactionAttributeSource (implements java.io.Serializable, org.springframework.transaction.interceptor.TransactionAttributeSource)
  - org.springframework.dao.support.DaoSupport (implements org.springframework.beans.factory.InitializingBean)
  - org.springframework.dao.support.DataAccessUtils
  - org.springframework.transaction.support.DefaultTransactionDefinition (implements java.io.Serializable, org.springframework.transaction.TransactionDefinition)
    - org.springframework.transaction.interceptor.DefaultTransactionAttribute (implements org.springframework.transaction.interceptor.TransactionAttribute)
      - org.springframework.transaction.interceptor.RuleBasedTransactionAttribute (implements java.io.Serializable)
    - org.springframework.transaction.support.TransactionTemplate (implements org.springframework.beans.factory.InitializingBean, org.springframework.transaction.support.TransactionOperations)
  - org.springframework.transaction.support.DelegatingTransactionDefinition (implements java.io.Serializable, org.springframework.transaction.TransactionDefinition)
    - org.springframework.transaction.interceptor.DelegatingTransactionAttribute (implements java.io.Serializable, org.springframework.transaction.interceptor.TransactionAttribute)
  - org.springframework.transaction.annotation.Ejb3TransactionAnnotationParser (implements java.io.Serializable, org.springframework.transaction.annotation.TransactionAnnotationParser)
  - org.springframework.jca.endpoint.GenericMessageEndpointManager (implements org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.SmartLifecycle)
  - org.springframework.transaction.reactive.GenericReactiveTransaction (implements org.springframework.transaction.ReactiveTransaction)
  - org.springframework.transaction.jta.JtaAfterCompletionSynchronization (implements jakarta.transaction.Synchronization)
  - org.springframework.transaction.annotation.JtaTransactionAnnotationParser (implements java.io.Serializable, org.springframework.transaction.annotation.TransactionAnnotationParser)
  - org.springframework.transaction.config.JtaTransactionManagerFactoryBean (implements org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
  - org.springframework.transaction.jta.JtaTransactionObject (implements org.springframework.transaction.support.SmartTransactionObject)
  - org.springframework.jca.support.LocalConnectionFactoryBean (implements org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
  - org.springframework.transaction.jta.ManagedTransactionAdapter (implements jakarta.transaction.Transaction)
  - org.springframework.transaction.interceptor.MatchAlwaysTransactionAttributeSource (implements java.io.Serializable, org.springframework.transaction.interceptor.TransactionAttributeSource)
  - org.springframework.transaction.interceptor.MethodMapTransactionAttributeSource (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.context.EmbeddedValueResolverAware, org.springframework.beans.factory.InitializingBean, org.springframework.transaction.interceptor.TransactionAttributeSource)
  - org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource (implements org.springframework.context.EmbeddedValueResolverAware, org.springframework.beans.factory.InitializingBean, java.io.Serializable, org.springframework.transaction.interceptor.TransactionAttributeSource)
  - org.springframework.beans.factory.xml.NamespaceHandlerSupport (implements org.springframework.beans.factory.xml.NamespaceHandler)
    - org.springframework.transaction.config.TxNamespaceHandler
  - org.springframework.dao.support.PersistenceExceptionTranslationInterceptor (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.aopalliance.intercept.MethodInterceptor)
  - java.beans.PropertyEditorSupport (implements java.beans.PropertyEditor)
    - org.springframework.transaction.interceptor.TransactionAttributeEditor
    - org.springframework.transaction.interceptor.TransactionAttributeSourceEditor
  - org.springframework.aop.framework.ProxyConfig (implements java.io.Serializable)
    - org.springframework.aop.framework.AbstractSingletonProxyFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
      - org.springframework.transaction.interceptor.TransactionProxyFactoryBean (implements org.springframework.beans.factory.BeanFactoryAware)
    - org.springframework.aop.framework.ProxyProcessorSupport (implements org.springframework.aop.framework.AopInfrastructureBean, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.core.Ordered)
      - org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor (implements org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor)
        - org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor (implements org.springframework.beans.factory.BeanFactoryAware)
          - org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor
  - org.springframework.transaction.reactive.ReactiveResourceSynchronization<O,K> (implements org.springframework.transaction.reactive.TransactionSynchronization)
  - org.springframework.jca.support.ResourceAdapterFactoryBean (implements org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
  - org.springframework.transaction.support.ResourceHolderSupport (implements org.springframework.transaction.support.ResourceHolder)
  - org.springframework.transaction.support.ResourceHolderSynchronization<H,K> (implements org.springframework.transaction.support.TransactionSynchronization)
  - org.springframework.transaction.interceptor.RollbackRuleAttribute (implements java.io.Serializable)
    - org.springframework.transaction.interceptor.NoRollbackRuleAttribute
  - org.springframework.jca.support.SimpleBootstrapContext (implements jakarta.resource.spi.BootstrapContext)
  - org.springframework.transaction.jta.SimpleTransactionFactory (implements org.springframework.transaction.jta.TransactionFactory)
  - org.springframework.transaction.support.SimpleTransactionScope (implements org.springframework.beans.factory.config.Scope)
  - org.springframework.transaction.jta.SpringJtaSynchronizationAdapter (implements jakarta.transaction.Synchronization)
  - org.springframework.transaction.annotation.SpringTransactionAnnotationParser (implements java.io.Serializable, org.springframework.transaction.annotation.TransactionAnnotationParser)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.jca.endpoint.GenericMessageEndpointFactory.InternalResourceException
        - org.springframework.core.NestedRuntimeException
          - org.springframework.dao.DataAccessException
            - org.springframework.dao.NonTransientDataAccessException
              - org.springframework.dao.CleanupFailureDataAccessException
              - org.springframework.dao.DataIntegrityViolationException
                - org.springframework.dao.DuplicateKeyException
              - org.springframework.dao.DataRetrievalFailureException
                - org.springframework.dao.IncorrectResultSizeDataAccessException
                  - org.springframework.dao.EmptyResultDataAccessException
              - org.springframework.dao.InvalidDataAccessApiUsageException
              - org.springframework.dao.InvalidDataAccessResourceUsageException
                - org.springframework.dao.IncorrectUpdateSemanticsDataAccessException
                - org.springframework.dao.TypeMismatchDataAccessException
              - org.springframework.dao.NonTransientDataAccessResourceException
                - org.springframework.dao.DataAccessResourceFailureException
              - org.springframework.dao.PermissionDeniedDataAccessException
              - org.springframework.dao.UncategorizedDataAccessException
            - org.springframework.dao.RecoverableDataAccessException
            - org.springframework.dao.TransientDataAccessException
              - org.springframework.dao.ConcurrencyFailureException
                - org.springframework.dao.OptimisticLockingFailureException
                - org.springframework.dao.PessimisticLockingFailureException
                  - org.springframework.dao.CannotAcquireLockException
                  - org.springframework.dao.CannotSerializeTransactionException
                  - org.springframework.dao.DeadlockLoserDataAccessException
              - org.springframework.dao.QueryTimeoutException
              - org.springframework.dao.TransientDataAccessResourceException
          - org.springframework.transaction.TransactionException
            - org.springframework.transaction.CannotCreateTransactionException
              - org.springframework.transaction.NestedTransactionNotSupportedException
              - org.springframework.transaction.TransactionSuspensionNotSupportedException
            - org.springframework.transaction.HeuristicCompletionException
            - org.springframework.transaction.TransactionSystemException
            - org.springframework.transaction.TransactionTimedOutException
            - org.springframework.transaction.TransactionUsageException
              - org.springframework.transaction.IllegalTransactionStateException
              - org.springframework.transaction.InvalidIsolationLevelException
              - org.springframework.transaction.InvalidTimeoutException
              - org.springframework.transaction.NoTransactionException
            - org.springframework.transaction.UnexpectedRollbackException
  - org.springframework.transaction.event.TransactionalApplicationListenerAdapter<E> (implements org.springframework.core.Ordered, org.springframework.transaction.event.TransactionalApplicationListener<E>)
  - org.springframework.transaction.event.TransactionalEventListenerFactory (implements org.springframework.context.event.EventListenerFactory, org.springframework.core.Ordered)
    - org.springframework.transaction.annotation.RestrictedTransactionalEventListenerFactory
  - org.springframework.transaction.reactive.TransactionalEventPublisher
  - org.springframework.transaction.interceptor.TransactionAspectSupport (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean)
    - org.springframework.transaction.interceptor.TransactionInterceptor (implements org.aopalliance.intercept.MethodInterceptor, java.io.Serializable)
  - org.springframework.transaction.interceptor.TransactionAspectSupport.TransactionInfo
  - org.springframework.transaction.support.TransactionCallbackWithoutResult (implements org.springframework.transaction.support.TransactionCallback<T>)
  - org.springframework.transaction.reactive.TransactionContext
  - org.springframework.transaction.reactive.TransactionContextManager
  - org.springframework.transaction.config.TransactionManagementConfigUtils
  - org.springframework.transaction.support.TransactionSynchronizationAdapter (implements org.springframework.core.Ordered, org.springframework.transaction.support.TransactionSynchronization)
  - org.springframework.transaction.reactive.TransactionSynchronizationManager
  - org.springframework.transaction.support.TransactionSynchronizationManager
  - org.springframework.transaction.support.TransactionSynchronizationUtils
  - org.springframework.transaction.jta.UserTransactionAdapter (implements jakarta.transaction.UserTransaction)

## Interface Hierarchy

- java.util.EventListener
  - org.springframework.context.ApplicationListener<E>
    - org.springframework.transaction.event.TransactionalApplicationListener<E> (also extends org.springframework.core.Ordered)
- java.io.Flushable
  - org.springframework.transaction.support.SmartTransactionObject
  - org.springframework.transaction.TransactionStatus (also extends org.springframework.transaction.SavepointManager, org.springframework.transaction.TransactionExecution)
  - org.springframework.transaction.support.TransactionSynchronization (also extends org.springframework.core.Ordered)
- org.springframework.core.Ordered
  - org.springframework.transaction.event.TransactionalApplicationListener<E> (also extends org.springframework.context.ApplicationListener<E>)
  - org.springframework.transaction.support.TransactionSynchronization (also extends java.io.Flushable)
- org.springframework.dao.support.PersistenceExceptionTranslator
- org.springframework.transaction.support.ResourceHolder
- org.springframework.transaction.SavepointManager
  - org.springframework.transaction.TransactionStatus (also extends java.io.Flushable, org.springframework.transaction.TransactionExecution)
- org.springframework.aop.SpringProxy
  - org.springframework.transaction.interceptor.TransactionalProxy
- org.springframework.transaction.event.TransactionalApplicationListener.SynchronizationCallback
- org.springframework.transaction.reactive.TransactionalOperator
- org.springframework.transaction.annotation.TransactionAnnotationParser
- org.springframework.transaction.interceptor.TransactionAspectSupport.InvocationCallback
- org.springframework.transaction.interceptor.TransactionAttributeSource
- org.springframework.transaction.reactive.TransactionCallback<T>
- org.springframework.transaction.support.TransactionCallback<T>
- org.springframework.transaction.TransactionDefinition
  - org.springframework.transaction.support.ResourceTransactionDefinition
  - org.springframework.transaction.interceptor.TransactionAttribute
- org.springframework.transaction.TransactionExecution
  - org.springframework.transaction.ReactiveTransaction
  - org.springframework.transaction.TransactionStatus (also extends java.io.Flushable, org.springframework.transaction.SavepointManager)
- org.springframework.transaction.TransactionExecutionListener
- org.springframework.transaction.jta.TransactionFactory
- org.springframework.transaction.annotation.TransactionManagementConfigurer
- org.springframework.transaction.TransactionManager
  - org.springframework.transaction.ConfigurableTransactionManager
  - org.springframework.transaction.PlatformTransactionManager
    - org.springframework.transaction.support.CallbackPreferringPlatformTransactionManager
    - org.springframework.transaction.support.ResourceTransactionManager
  - org.springframework.transaction.ReactiveTransactionManager
- org.springframework.transaction.support.TransactionOperations
- org.springframework.transaction.reactive.TransactionSynchronization

## Annotation Interface Hierarchy

- org.springframework.transaction.annotation.EnableTransactionManagement (implements java.lang.annotation.Annotation)
- org.springframework.transaction.annotation.Transactional (implements java.lang.annotation.Annotation)
- org.springframework.transaction.event.TransactionalEventListener (implements java.lang.annotation.Annotation)

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.springframework.transaction.annotation.Isolation
    - org.springframework.transaction.annotation.Propagation
    - org.springframework.transaction.annotation.RollbackOn
    - org.springframework.transaction.event.TransactionPhase