public class SelectLockingStrategy extends AbstractSelectLockingStrategy
Dialect.getForUpdateString(org.hibernate.LockMode)
,
Dialect.appendLockHint(org.hibernate.LockMode, String)
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,
SessionImplementor 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
public void lock(Serializable id, Object version, Object object, int timeout, SessionImplementor session) throws StaleObjectStateException, JDBCException
LockingStrategy
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.JDBCException
LockingStrategy.lock(java.io.Serializable, java.lang.Object, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor)
protected String generateLockString(int timeout)
generateLockString
in class AbstractSelectLockingStrategy
Copyright © 2018 JBoss by Red Hat. All rights reserved.