If you've used RDBMS before, or completed a Computer Studies course or read any other J2EE book, you've probably read a section like this one already. But read on anyway, if only to be acquainted with some of the J2EE terminology that is used in this arena.
A transaction is an atomic unit of work:
Atomic unit means indivisible—either every step within the transaction completes or none of them do.
Work here usually means some modification to data within a persistent data store. In RDBMS terms, this means one or more INSERT, UPDATE, or DELETEs. However, strictly speaking, it also applies to reading of data through SELECT statements.
For a persistent data store to support transactions, it must pass the so-called “ACID” test: ...