public interface EntityTransaction
Interface used to control transactions on resource-local entity
managers. The
EntityManager.getTransaction()
method returns
the EntityTransaction
interface.- Since:
- 1.0
-
Method Summary
Modifier and TypeMethodDescriptionvoid
begin()
Start a resource transaction.void
commit()
Commit the current resource transaction, writing any unflushed changes to the database.boolean
Determine whether the current resource transaction has been marked for rollback.The transaction timeout.boolean
isActive()
Indicate whether a resource transaction is in progress.void
rollback()
Roll back the current resource transaction.void
Mark the current resource transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.void
setTimeout
(Integer timeout) Set the transaction timeout, in seconds.
-
Method Details
-
begin
-
commit
void commit()Commit the current resource transaction, writing any unflushed changes to the database.- Throws:
IllegalStateException
- ifisActive()
is falseRollbackException
- if the commit fails
-
rollback
void rollback()Roll back the current resource transaction.- Throws:
IllegalStateException
- ifisActive()
is falsePersistenceException
- 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:
IllegalStateException
- ifisActive()
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:
IllegalStateException
- ifisActive()
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
-
setTimeout
Set the transaction timeout, in seconds. This is a hint.- Parameters:
timeout
- the timeout, in seconds, or null to indicate that the database server should set the timeout- Since:
- 3.2
-
getTimeout
-