Enum Isolation
- java.lang.Object
- java.lang.Enum<Isolation>
- org.springframework.transaction.annotation.Isolation
- All Implemented Interfaces:
Serializable
,Comparable<Isolation>
public enum Isolation extends Enum<Isolation>
Enumeration that represents transaction isolation levels for use with theTransactional
annotation, corresponding to theTransactionDefinition
interface.- Since:
- 1.2
- Author:
- Colin Sampaleanu, Juergen Hoeller
Enum Constant Summary
Enum Constants Enum Constant Description DEFAULT
Use the default isolation level of the underlying datastore.READ_COMMITTED
A constant indicating that dirty reads are prevented; non-repeatable reads and phantom reads can occur.READ_UNCOMMITTED
A constant indicating that dirty reads, non-repeatable reads and phantom reads can occur.REPEATABLE_READ
A constant indicating that dirty reads and non-repeatable reads are prevented; phantom reads can occur.SERIALIZABLE
A constant indicating that dirty reads, non-repeatable reads and phantom reads are prevented.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
value()
static Isolation
valueOf(String name)
Returns the enum constant of this type with the specified name.static Isolation[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
Enum Constant Detail
DEFAULT
public static final Isolation DEFAULT
Use the default isolation level of the underlying datastore. All other levels correspond to the JDBC isolation levels.- See Also:
Connection
READ_UNCOMMITTED
public static final Isolation READ_UNCOMMITTED
A constant indicating that dirty reads, non-repeatable reads and phantom reads can occur. This level allows a row changed by one transaction to be read by another transaction before any changes in that row have been committed (a "dirty read"). If any of the changes are rolled back, the second transaction will have retrieved an invalid row.
READ_COMMITTED
public static final Isolation READ_COMMITTED
A constant indicating that dirty reads are prevented; non-repeatable reads and phantom reads can occur. This level only prohibits a transaction from reading a row with uncommitted changes in it.
REPEATABLE_READ
public static final Isolation REPEATABLE_READ
A constant indicating that dirty reads and non-repeatable reads are prevented; phantom reads can occur. This level prohibits a transaction from reading a row with uncommitted changes in it, and it also prohibits the situation where one transaction reads a row, a second transaction alters the row, and the first transaction rereads the row, getting different values the second time (a "non-repeatable read").
SERIALIZABLE
public static final Isolation SERIALIZABLE
A constant indicating that dirty reads, non-repeatable reads and phantom reads are prevented. This level includes the prohibitions inISOLATION_REPEATABLE_READ
and further prohibits the situation where one transaction reads all rows that satisfy aWHERE
condition, a second transaction inserts a row that satisfies thatWHERE
condition, and the first transaction rereads for the same condition, retrieving the additional "phantom" row in the second read.- See Also:
Connection.TRANSACTION_SERIALIZABLE
Method Detail
values
public static Isolation[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Isolation c : Isolation.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
valueOf
public static Isolation valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
value
public int value()