javax.persistence

## Interface EntityTransaction

    public interface EntityTransaction

Interface used to control transactions on resource-local entity managers. The `EntityManager.getTransaction()` method returns the `EntityTransaction` interface.

Since:
  Java Persistence 1.0

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `begin()` Start a resource transaction.
`void` `commit()` Commit the current resource transaction, writing any unflushed changes to the database.
`boolean` `getRollbackOnly()` Determine whether the current resource transaction has been marked for rollback.
`boolean` `isActive()` Indicate whether a resource transaction is in progress.
`void` `rollback()` Roll back the current resource transaction.
`void` `setRollbackOnly()` Mark the current resource transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.

### Method Detail

#### begin

    void begin()

Start a resource transaction.

Throws:
  `java.lang.IllegalStateException` - if `isActive()` is true

#### commit

    void commit()

Commit the current resource transaction, writing any unflushed changes to the database.

Throws:
  `java.lang.IllegalStateException` - if `isActive()` is false
  `RollbackException` - if the commit fails

#### rollback

    void rollback()

Roll back the current resource transaction.

Throws:
  `java.lang.IllegalStateException` - if `isActive()` is false
  `PersistenceException` - if an unexpected error condition is encountered

#### setRollbackOnly

    void setRollbackOnly()

Mark the current resource transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.

Throws:
  `java.lang.IllegalStateException` - if `isActive()` is false

#### getRollbackOnly

    boolean getRollbackOnly()

Determine whether the current resource transaction has been marked for rollback.

Returns:
  boolean indicating whether the transaction has been marked for rollback
Throws:
  `java.lang.IllegalStateException` - if `isActive()` is false

#### isActive

    boolean isActive()

Indicate whether a resource transaction is in progress.

Returns:
  boolean indicating whether transaction is in progress
Throws:
  `PersistenceException` - if an unexpected error condition is encountered