public enum LockModeType extends Enum<LockModeType>
LockModeType argument to one of the
EntityManager methods that take locks (lock, find, or refresh) or to the
Query.setLockMode() or TypedQuery.setLockMode() method.
Lock modes can be used to specify either optimistic or pessimistic locks.
Optimistic locks are specified using LockModeType.OPTIMISTIC and
LockModeType.OPTIMISTIC_FORCE_INCREMENT. The lock mode type values
LockModeType.READ and LockModeType.WRITE are synonyms of OPTIMISTIC and
OPTIMISTIC_FORCE_INCREMENT respectively. The latter are to be preferred for new applications.
The semantics of requesting locks of type If transaction T1 calls for a lock of type
Lock modes must always prevent the phenomena P1 and P2.
In addition, calling a lock of type
The persistence implementation is not required to support the use of optimistic lock modes on non-versioned objects. When it cannot
support a such lock call, it must throw the
The lock modes
The semantics of requesting locks of type
If transaction T1 calls for a lock of type
A lock with
The persistence implementation must support use of locks of type
When the lock cannot be obtained, and the database locking failure results in transaction-level rollback, the provider must throw the
When the lock cannot be obtained, and the database locking failure results in only statement-level rollback, the provider must throw the
LockModeType.OPTIMISTIC and
LockModeType.OPTIMISTIC_FORCE_INCREMENT are the
following.
LockModeType.OPTIMISTIC on a versioned object, the entity manager must ensure that neither of the following phenomena can
occur:
LockModeType.OPTIMISTIC_FORCE_INCREMENT on a versioned object, will also force an update
(increment) to the entity's version column.
PersistenceException.
LockModeType.PESSIMISTIC_READ, LockModeType.PESSIMISTIC_WRITE, and LockModeType.PESSIMISTIC_FORCE_INCREMENT are used
to immediately obtain long-term database locks.
LockModeType.PESSIMISTIC_READ, LockModeType.PESSIMISTIC_WRITE, and
LockModeType.PESSIMISTIC_FORCE_INCREMENT are the following.
LockModeType.PESSIMISTIC_READ or LockModeType.PESSIMISTIC_WRITE on
an object, the entity manager must ensure that neither of the following phenomena can occur:
LockModeType.PESSIMISTIC_WRITE can be obtained on an entity instance to force serialization among transactions
attempting to update the entity data. A lock with LockModeType.PESSIMISTIC_READ can be used to query data using
repeatable-read semantics without the need to reread the data at the end of the transaction to obtain a lock, and without blocking other
transactions reading the data. A lock with LockModeType.PESSIMISTIC_WRITE can be used when querying data and there is a high
likelihood of deadlock or update failure among concurrent updating transactions.
LockModeType.PESSIMISTIC_READ
LockModeType.PESSIMISTIC_WRITE on a non-versioned entity as well as on a versioned entity.
PessimisticLockException and ensure that the JTA transaction or EntityTransaction has been marked for rollback.
LockTimeoutException (and must not mark the transaction for rollback).
| Enum Constant and Description |
|---|
NONE
No lock.
|
OPTIMISTIC
Optimistic lock.
|
OPTIMISTIC_FORCE_INCREMENT
Optimistic lock, with version update.
|
PESSIMISTIC_FORCE_INCREMENT
Pessimistic write lock, with version update.
|
PESSIMISTIC_READ
Pessimistic read lock.
|
PESSIMISTIC_WRITE
Pessimistic write lock.
|
READ
Synonymous with
OPTIMISTIC. |
WRITE
Synonymous with
OPTIMISTIC_FORCE_INCREMENT. |
| Modifier and Type | Method and Description |
|---|---|
static LockModeType |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static LockModeType[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final LockModeType READ
OPTIMISTIC. OPTIMISTIC is to be preferred for new applications.public static final LockModeType WRITE
OPTIMISTIC_FORCE_INCREMENT. OPTIMISTIC_FORCE_IMCREMENT is to be preferred for new
applications.public static final LockModeType OPTIMISTIC
public static final LockModeType OPTIMISTIC_FORCE_INCREMENT
public static final LockModeType PESSIMISTIC_READ
public static final LockModeType PESSIMISTIC_WRITE
public static final LockModeType PESSIMISTIC_FORCE_INCREMENT
public static final LockModeType NONE
public static LockModeType[] values()
for (LockModeType c : LockModeType.values()) System.out.println(c);
public static LockModeType valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant
with the specified nameNullPointerException - if the argument is nullCopyright © 2012 Batoo Software & Consultancy. All Rights Reserved.