public class PessimisticWriteSelectLockingStrategy extends AbstractSelectLockingStrategy
A pessimistic locking strategy where the locks are obtained through select statements. <p/> For non-read locks, this is achieved through the Dialect’s specific SELECT … FOR UPDATE syntax.
This strategy is valid for LockMode.PESSIMISTIC_WRITE
This class is a clone of SelectLockingStrategy.
Constructor and Description |
---|
PessimisticWriteSelectLockingStrategy(Lockable lockable,
LockMode lockMode)
Construct a locking strategy based on SQL SELECT statements.
|
Modifier and Type | Method and Description |
---|---|
protected String |
generateLockString(int lockTimeout) |
void |
lock(Serializable id,
Object version,
Object object,
int timeout,
SharedSessionContractImplementor session)
Acquire an appropriate type of lock on the underlying data that will
endure until the end of the current transaction.
|
determineSql, getLockable, getLockMode, getNoWaitSql, getSkipLockedSql
public PessimisticWriteSelectLockingStrategy(Lockable lockable, LockMode lockMode)
Construct a locking strategy based on SQL SELECT statements.
lockable
- The metadata for the entity to be locked.lockMode
- Indicates the type of lock to be acquired.public void lock(Serializable id, Object version, Object object, int timeout, SharedSessionContractImplementor session)
LockingStrategy
Acquire an appropriate type of lock on the underlying data that will endure until the end of the current transaction.
id
- The id of the row to be lockedversion
- The current version (or null if not versioned)object
- The object logically being locked (currently not used)timeout
- timeout in milliseconds, 0 = no wait, -1 = wait indefinitelysession
- The session from which the lock request originatedprotected String generateLockString(int lockTimeout)
generateLockString
in class AbstractSelectLockingStrategy
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.