public class SelectLockingStrategy extends AbstractSelectLockingStrategy
A 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.
| Constructor and Description |
|---|
SelectLockingStrategy(Lockable lockable,
LockMode lockMode)
Construct a locking strategy based on SQL SELECT statements.
|
| Modifier and Type | Method and Description |
|---|---|
protected String |
generateLockString(int timeout) |
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, getSkipLockedSqlpublic void lock(Serializable id, Object version, Object object, int timeout, SharedSessionContractImplementor session) throws StaleObjectStateException, JDBCException
LockingStrategyAcquire 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 originatedStaleObjectStateException - Indicates an inability to locate the database row as part of acquiring
the requested lock.JDBCExceptionprotected String generateLockString(int timeout)
generateLockString in class AbstractSelectLockingStrategyCopyright © 2001-2018 Red Hat, Inc. All Rights Reserved.