Package org.hibernate.dialect.lock
Class UpdateLockingStrategy
- java.lang.Object
-
- org.hibernate.dialect.lock.UpdateLockingStrategy
-
- All Implemented Interfaces:
LockingStrategy
public class UpdateLockingStrategy extends java.lang.Object implements LockingStrategy
A locking strategy where the locks are obtained through update statements. This strategy is not valid for read style locks.- Since:
- 3.2
-
-
Constructor Summary
Constructors Constructor Description UpdateLockingStrategy(Lockable lockable, LockMode lockMode)
Construct a locking strategy based on SQL UPDATE statements.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
generateLockString()
protected LockMode
getLockMode()
void
lock(java.io.Serializable id, java.lang.Object version, java.lang.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.
-
-
-
Constructor Detail
-
UpdateLockingStrategy
public UpdateLockingStrategy(Lockable lockable, LockMode lockMode)
Construct a locking strategy based on SQL UPDATE statements.- Parameters:
lockable
- The metadata for the entity to be locked.lockMode
- Indictates the type of lock to be acquired. Note that read-locks are not valid for this strategy.
-
-
Method Detail
-
lock
public void lock(java.io.Serializable id, java.lang.Object version, java.lang.Object object, int timeout, SharedSessionContractImplementor session) throws StaleObjectStateException, JDBCException
Description copied from interface:LockingStrategy
Acquire an appropriate type of lock on the underlying data that will endure until the end of the current transaction.- Specified by:
lock
in interfaceLockingStrategy
- Parameters:
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 originated- Throws:
StaleObjectStateException
- Indicates an inability to locate the database row as part of acquiring the requested lock.JDBCException
-
generateLockString
protected java.lang.String generateLockString()
-
getLockMode
protected LockMode getLockMode()
-
-