Package org.hibernate.dialect.lock
Class AbstractSelectLockingStrategy
java.lang.Object
org.hibernate.dialect.lock.AbstractSelectLockingStrategy
- All Implemented Interfaces:
LockingStrategy
- Direct Known Subclasses:
PessimisticReadSelectLockingStrategy
,PessimisticWriteSelectLockingStrategy
,SelectLockingStrategy
Base
LockingStrategy
implementation to support implementations
based on issuing SQL SELECT
statements. For non-read locks,
this is achieved via the dialect's native SELECT ... FOR UPDATE
syntax.-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractSelectLockingStrategy
(EntityPersister lockable, LockMode lockMode) -
Method Summary
Modifier and TypeMethodDescriptionprotected HibernateException
convertException
(Object entity, JDBCException ex) protected String
determineSql
(int timeout) protected String
generateLockString
(int lockTimeout) protected EntityPersister
protected LockMode
protected String
protected String
void
lock
(Object id, Object version, Object object, int timeout, EventSource session) Acquire an appropriate type of lock on the underlying data that will endure until the end of the current transaction.
-
Constructor Details
-
AbstractSelectLockingStrategy
-
-
Method Details
-
getLockable
-
getLockMode
-
generateLockString
-
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
-
convertException
-
determineSql
-
getNoWaitSql
-
getSkipLockedSql
-