## Uses of Interface
org.springframework.transaction.TransactionDefinition

- Packages that use TransactionDefinition
  Package | Description
  --- | ---
  org.springframework.jca.cci.connection | Provides a utility class for easy ConnectionFactory access, a PlatformTransactionManager for local CCI transactions, and various simple ConnectionFactory proxies/adapters.
  org.springframework.jdbc.datasource | Provides a utility class for easy DataSource access, a PlatformTransactionManager for a single DataSource, and various simple DataSource implementations.
  org.springframework.jms.connection | Provides a PlatformTransactionManager implementation for a single JMS ConnectionFactory, and a SingleConnectionFactory adapter.
  org.springframework.orm.hibernate5 | Package providing integration of Hibernate 5.x with Spring concepts.
  org.springframework.orm.jpa | Package providing integration of JPA (Java Persistence API) with Spring concepts.
  org.springframework.orm.jpa.vendor | Support classes for adapting to specific JPA vendors.
  org.springframework.r2dbc.connection | Provides a utility class for easy ConnectionFactory access, a ReactiveTransactionManager for a single ConnectionFactory, and various simple ConnectionFactory implementations.
  org.springframework.transaction | Spring's core transaction management APIs (independent of any specific transaction management system); an exception hierarchy for Spring's transaction infrastructure; and transaction manager, definition, and status interfaces.
  org.springframework.transaction.interceptor | AOP-based solution for declarative transaction demarcation.
  org.springframework.transaction.jta | Transaction SPI implementation for JTA.
  org.springframework.transaction.reactive | Support classes for reactive transaction management.
  org.springframework.transaction.support | Support classes for the org.springframework.transaction package.

- - ### Uses of TransactionDefinition in org.springframework.jca.cci.connection

    Methods in org.springframework.jca.cci.connection with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | CciLocalTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)` Deprecated.

  - ### Uses of TransactionDefinition in org.springframework.jdbc.datasource

    Methods in org.springframework.jdbc.datasource with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | DataSourceTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`
    `static Integer` | DataSourceUtils.`prepareConnectionForTransaction(Connection con, TransactionDefinition definition)` Prepare the given Connection with the given transaction semantics.
    `protected void` | DataSourceTransactionManager.`prepareTransactionalConnection(Connection con, TransactionDefinition definition)` Prepare the transactional `Connection` right after transaction begin.

  - ### Uses of TransactionDefinition in org.springframework.jms.connection

    Methods in org.springframework.jms.connection with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | JmsTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`

  - ### Uses of TransactionDefinition in org.springframework.orm.hibernate5

    Methods in org.springframework.orm.hibernate5 with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | HibernateTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`

  - ### Uses of TransactionDefinition in org.springframework.orm.jpa

    Methods in org.springframework.orm.jpa with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `Object` | JpaDialect.`beginTransaction(EntityManager entityManager, TransactionDefinition definition)` Begin the given JPA transaction, applying the semantics specified by the given Spring transaction definition (in particular, an isolation level and a timeout).
    `Object` | DefaultJpaDialect.`beginTransaction(EntityManager entityManager, TransactionDefinition definition)` This implementation invokes the standard JPA `Transaction.begin` method.
    `protected void` | JpaTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`

  - ### Uses of TransactionDefinition in org.springframework.orm.jpa.vendor

    Methods in org.springframework.orm.jpa.vendor with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `Object` | EclipseLinkJpaDialect.`beginTransaction(EntityManager entityManager, TransactionDefinition definition)`
    `Object` | HibernateJpaDialect.`beginTransaction(EntityManager entityManager, TransactionDefinition definition)`

  - ### Uses of TransactionDefinition in org.springframework.r2dbc.connection

    Methods in org.springframework.r2dbc.connection with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected Duration` | R2dbcTransactionManager.`determineTimeout(TransactionDefinition definition)` Determine the actual timeout to use for the given definition.
    `protected reactor.core.publisher.Mono<Void>` | R2dbcTransactionManager.`doBegin(TransactionSynchronizationManager synchronizationManager, Object transaction, TransactionDefinition definition)`
    `protected reactor.core.publisher.Mono<Void>` | R2dbcTransactionManager.`prepareTransactionalConnection(io.r2dbc.spi.Connection con, TransactionDefinition definition)` Prepare the transactional `Connection` right after transaction begin.
    `protected reactor.core.publisher.Mono<Void>` | R2dbcTransactionManager.`prepareTransactionalConnection(io.r2dbc.spi.Connection con, TransactionDefinition definition, Object transaction)` Deprecated. in favor of `R2dbcTransactionManager.prepareTransactionalConnection(Connection, TransactionDefinition)` since this variant gets called too early (before transaction begin) for read-only customization

  - ### Uses of TransactionDefinition in org.springframework.transaction

    Methods in org.springframework.transaction that return TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `static TransactionDefinition` | TransactionDefinition.`withDefaults()` Return an unmodifiable `TransactionDefinition` with defaults.

    Methods in org.springframework.transaction with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `reactor.core.publisher.Mono<ReactiveTransaction>` | ReactiveTransactionManager.`getReactiveTransaction(TransactionDefinition definition)` Emit a currently active reactive transaction or create a new one, according to the specified propagation behavior.
    `TransactionStatus` | PlatformTransactionManager.`getTransaction(TransactionDefinition definition)` Return a currently active transaction or create a new one, according to the specified propagation behavior.

  - ### Uses of TransactionDefinition in org.springframework.transaction.interceptor

    Subinterfaces of TransactionDefinition in org.springframework.transaction.interceptor
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `TransactionAttribute` This interface adds a `rollbackOn` specification to `TransactionDefinition`.

    Classes in org.springframework.transaction.interceptor that implement TransactionDefinition
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultTransactionAttribute` Spring's common transaction attribute implementation.
    `class` | `DelegatingTransactionAttribute` `TransactionAttribute` implementation that delegates all calls to a given target `TransactionAttribute` instance.
    `class` | `RuleBasedTransactionAttribute` TransactionAttribute implementation that works out whether a given exception should cause transaction rollback by applying a number of rollback rules, both positive and negative.

  - ### Uses of TransactionDefinition in org.springframework.transaction.jta

    Methods in org.springframework.transaction.jta with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | JtaTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`
    `protected void` | WebLogicJtaTransactionManager.`doJtaBegin(JtaTransactionObject txObject, TransactionDefinition definition)`
    `protected void` | JtaTransactionManager.`doJtaBegin(JtaTransactionObject txObject, TransactionDefinition definition)` Perform a JTA begin on the JTA UserTransaction or TransactionManager.
    `<T> T` | WebSphereUowTransactionManager.`execute(TransactionDefinition definition, TransactionCallback<T> callback)`

  - ### Uses of TransactionDefinition in org.springframework.transaction.reactive

    Methods in org.springframework.transaction.reactive with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `static TransactionalOperator` | TransactionalOperator.`create(ReactiveTransactionManager transactionManager, TransactionDefinition transactionDefinition)` Create a new `TransactionalOperator` using `ReactiveTransactionManager` and `TransactionDefinition`.
    `protected abstract reactor.core.publisher.Mono<Void>` | AbstractReactiveTransactionManager.`doBegin(TransactionSynchronizationManager synchronizationManager, Object transaction, TransactionDefinition definition)` Begin a new transaction with semantics according to the given transaction definition.
    `reactor.core.publisher.Mono<ReactiveTransaction>` | AbstractReactiveTransactionManager.`getReactiveTransaction(TransactionDefinition definition)` This implementation handles propagation behavior.

  - ### Uses of TransactionDefinition in org.springframework.transaction.support

    Subinterfaces of TransactionDefinition in org.springframework.transaction.support
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ResourceTransactionDefinition` Extended variant of `TransactionDefinition`, indicating a resource transaction and in particular whether the transactional resource is ready for local optimizations.

    Classes in org.springframework.transaction.support that implement TransactionDefinition
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultTransactionDefinition` Default implementation of the `TransactionDefinition` interface, offering bean-style configuration and sensible default values (PROPAGATION_REQUIRED, ISOLATION_DEFAULT, TIMEOUT_DEFAULT, readOnly=false).
    `class` | `DelegatingTransactionDefinition` `TransactionDefinition` implementation that delegates all calls to a given target `TransactionDefinition` instance.
    `class` | `TransactionTemplate` Template class that simplifies programmatic transaction demarcation and transaction exception handling.

    Methods in org.springframework.transaction.support with parameters of type TransactionDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | AbstractPlatformTransactionManager.`determineTimeout(TransactionDefinition definition)` Determine the actual timeout to use for the given definition.
    `protected abstract void` | AbstractPlatformTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)` Begin a new transaction with semantics according to the given transaction definition.
    `<T> T` | CallbackPreferringPlatformTransactionManager.`execute(TransactionDefinition definition, TransactionCallback<T> callback)` Execute the action specified by the given callback object within a transaction.
    `TransactionStatus` | AbstractPlatformTransactionManager.`getTransaction(TransactionDefinition definition)` This implementation handles propagation behavior.
    `protected DefaultTransactionStatus` | AbstractPlatformTransactionManager.`newTransactionStatus(TransactionDefinition definition, Object transaction, boolean newTransaction, boolean newSynchronization, boolean debug, Object suspendedResources)` Create a TransactionStatus instance for the given arguments.
    `protected void` | AbstractPlatformTransactionManager.`prepareSynchronization(DefaultTransactionStatus status, TransactionDefinition definition)` Initialize transaction synchronization as appropriate.
    `protected DefaultTransactionStatus` | AbstractPlatformTransactionManager.`prepareTransactionStatus(TransactionDefinition definition, Object transaction, boolean newTransaction, boolean newSynchronization, boolean debug, Object suspendedResources)` Create a new TransactionStatus for the given arguments, also initializing transaction synchronization as appropriate.

    Constructors in org.springframework.transaction.support with parameters of type TransactionDefinition
    Constructor and Description
    `DefaultTransactionDefinition(TransactionDefinition other)` Copy constructor.
    `DelegatingTransactionDefinition(TransactionDefinition targetDefinition)` Create a DelegatingTransactionAttribute for the given target attribute.
    `TransactionTemplate(PlatformTransactionManager transactionManager, TransactionDefinition transactionDefinition)` Construct a new TransactionTemplate using the given transaction manager, taking its default settings from the given transaction definition.