JDBC Defined Constant | Description |
TRANSACTION_READ_UNCOMMITTED | Allows dirty reads, non-repeatable reads, and phantom reads to occur. |
TRANSACTION_READ_COMMITTED | Ensures only committed data can be read. |
TRANSACTION_REPEATABLE_READ | Is close to being "serializable," however, "phantom" reads are possible. |
TRANSACTION_SERIALIZABLE | Dirty 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 |