# The Java EE 7 Tutorial

# 51 Transactions

A typical enterprise application accesses and stores information in one or more databases. Because this information is critical for business operations, it must be accurate, current, and reliable. Data integrity would be lost if multiple programs were allowed to update the same information simultaneously or if a system that failed while processing a business transaction were to leave the affected data only partially updated. By preventing both of these scenarios, software transactions ensure data integrity. Transactions control the concurrent access of data by multiple programs. In the event of a system failure, transactions make sure that after recovery, the data will be in a consistent state.

The following topics are addressed here:

- Transactions in Java EE Applications

- What Is a Transaction?

- Container-Managed Transactions

- Bean-Managed Transactions

- Transaction Timeouts

- Updating Multiple Databases

- Transactions in Web Components

- Further Information about Transactions