JDBC Transaction Isolation Levels : Transation « Database « Java Tutorial






Connection.setTransactionIsolation (level)
JDBC Defined ConstantDescription
TRANSACTION_READ_UNCOMMITTEDAllows dirty reads, non-repeatable reads, and phantom reads to occur.
TRANSACTION_READ_COMMITTEDEnsures only committed data can be read.
TRANSACTION_REPEATABLE_READIs close to being "serializable," however, "phantom" reads are possible.
TRANSACTION_SERIALIZABLEDirty reads, non-repeatable reads, and phantom reads are prevented. Serializable.


A "phantom" read occurs when one transaction reads all rows that satisfy a WHERE condition, and a second transaction inserts a row that satisfies that WHERE condition, the first transaction then rereads for the same condition, retrieving the additional "phantom" row in the second read. (from book: JDBC Recipes A Problem-Solution Approach)

In addition, JDBC defines an additional constant, TRANSACTION_NONE, which is used to indicate that the driver does not support transactions.









20.32.Transation
20.32.1.JDBC Transaction Isolation Levels
20.32.2.Transaction Isolation Level supported
20.32.3.Determine if a Database Supports Transactions
20.32.4.Turning On Autocommit Mode
20.32.5.Roll Back a Transaction
20.32.6.Using a Transaction in JDBC with Exception catching
20.32.7.Rollback to savepoint
20.32.8.Using a database transaction with JDBC
20.32.9.Determining If a Database Supports Transactions
20.32.10.Committing and Rolling Back Updates to a Database
20.32.11.Disable auto commit mode in JDBC
20.32.12.If database support transaction
20.32.13.Commit or rollback transaction in JDBC