Search This Blog

JPA EntityTransaction Interface with Example

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

A transaction is a set of operations that either fail or succeed as a unit. Transactions are a fundamental part of persistence. A database transaction consists of a set of SQL DML (Data Manipulation Language) operations that are committed or rolled back as a single unit. An object-level transaction is one in which a set of changes made to a set of objects are committed to the database as a single unit.

JPA provides two mechanisms for transactions. When used in Java EE JPA provides integration with JTA (Java Transaction API). JPA also provides its own EntityTransaction implementation for Java SE and for use in a non-managed mode in Java EE. Transactions in JPA are always at the object level, this means that all changes made to all persistent objects in the persistence context are part of the transaction.

EntityTransaction Interface provides important methods to handle Transactions in JPA based applications. The below are important methods of EntityTransaction Interface.

EntityTransaction Interface Methods

EntityTransaction Interface - Class Diagram

The below class diagram shows a list of methods that EntityTransaction Interface provides.

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.