For non-read locks, this is achieved through the dialect's native
SELECT ... FOR UPDATE syntax.
org.hibernate.dialect.Dialect#getForUpdateString(LockMode) , org.hibernate.dialect.Dialect#appendLockHint(LockOptions, String)
| Access | Constructor and Description |
|---|---|
| public | SelectLockingStrategy(Lockable
The metadata for the entity to be locked. lockable, LockMode Indicates the type of lock to be acquired. lockMode)
Deprecated
as a consequence of
Construct a locking strategy based on SQL SELECT statements.
Lockable being deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
| protected String | generateLockString(int timeout)
Implements abstract org. |
| public void | lock(Object
The id of the row to be locked id, Object The current version (or null if not versioned) version, Object The object logically being locked (currently not used) object, int timeout in milliseconds, 0 = no wait, -1 = wait indefinitely timeout, EventSource The session from which the lock request originated session)Implements org. |
| SelectLockingStrategy | back to summary |
|---|---|
| public SelectLockingStrategy(Lockable lockable, LockMode lockMode)
Deprecated as a consequence of Construct a locking strategy based on SQL SELECT statements. | |
| generateLockString | back to summary |
|---|---|
| protected String generateLockString(int timeout) Implements abstract org. | |
| lock | back to summary |
|---|---|
| public void lock(Object id, Object version, Object object, int timeout, EventSource session) throws StaleObjectStateException, JDBCException Implements org. Doc from org. Acquire an appropriate type of lock on the underlying data that will endure until the end of the current transaction.
| |