Package org.springframework.transaction.jta

# Class JtaTransactionObject

java.lang.Object
org.springframework.transaction.jta.JtaTransactionObject

All Implemented Interfaces:
  `Flushable`, `SmartTransactionObject`

public class JtaTransactionObject extends Object implements SmartTransactionObject
JTA transaction object, representing a `UserTransaction`. Used as transaction object by Spring's `JtaTransactionManager`.

Note: This is an SPI class, not intended to be used by applications.

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  - `JtaTransactionManager`
  - `UserTransaction`

## Constructor Summary

Constructors
Constructor
Description
`JtaTransactionObject(UserTransaction userTransaction)`
Create a new JtaTransactionObject for the given JTA UserTransaction.

## Method Summary

Modifier and Type
Method
Description
`void`
`flush()`
This implementation triggers flush callbacks, assuming that they will flush all affected ORM sessions.
`final UserTransaction`
`getUserTransaction()`
Return the JTA UserTransaction object for the current transaction.
`boolean`
`isRollbackOnly()`
This implementation checks the UserTransaction's rollback-only flag.

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

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

## Constructor Details

### JtaTransactionObject

public JtaTransactionObject(UserTransaction userTransaction)
Create a new JtaTransactionObject for the given JTA UserTransaction.

Parameters:
  `userTransaction` - the JTA UserTransaction for the current transaction (either a shared object or retrieved through a fresh per-transaction lookup)

## Method Details

### getUserTransaction

public final UserTransaction getUserTransaction()
Return the JTA UserTransaction object for the current transaction.

### isRollbackOnly

public boolean isRollbackOnly()
This implementation checks the UserTransaction's rollback-only flag.

Specified by:
  `isRollbackOnly` in interface `SmartTransactionObject`
See Also:
  - `UserTransaction.getStatus()`
  - `Status.STATUS_MARKED_ROLLBACK`

### flush

public void flush()
This implementation triggers flush callbacks, assuming that they will flush all affected ORM sessions.

Specified by:
  `flush` in interface `Flushable`
Specified by:
  `flush` in interface `SmartTransactionObject`
See Also:
  - `TransactionSynchronization.flush()`