Package org.hibernate.dialect.lock
Class UpdateLockingStrategy
java.lang.Object
org.hibernate.dialect.lock.UpdateLockingStrategy
- All Implemented Interfaces:
LockingStrategy
A locking strategy where a lock is obtained via an update statement.
This strategy is not valid for read style locks.
- Since:
- 3.2
-
Constructor Summary
ConstructorsConstructorDescriptionUpdateLockingStrategy
(EntityPersister lockable, LockMode lockMode) Construct a locking strategy based on SQL UPDATE statements. -
Method Summary
-
Constructor Details
-
UpdateLockingStrategy
Construct a locking strategy based on SQL UPDATE statements.- Parameters:
lockable
- The metadata for the entity to be locked.lockMode
- Indicates the type of lock to be acquired. Note that read-locks are not valid for this strategy.
-
-
Method Details
-
lock
public void lock(Object id, Object version, Object object, int timeout, EventSource 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
-
getLockMode
-