org.hibernate.dialect.lock
Interface LockingStrategy
- All Known Implementing Classes:
- AbstractSelectLockingStrategy, HSQLDialect.ReadUncommittedLockingStrategy, OptimisticForceIncrementLockingStrategy, OptimisticLockingStrategy, PessimisticForceIncrementLockingStrategy, PessimisticReadSelectLockingStrategy, PessimisticReadUpdateLockingStrategy, PessimisticWriteSelectLockingStrategy, PessimisticWriteUpdateLockingStrategy, SelectLockingStrategy, UpdateLockingStrategy
public interface LockingStrategy
A strategy abstraction for how locks are obtained in the underlying database.
All locking provided implementations assume the underlying database supports
(and that the connection is in) at least read-committed transaction isolation.
The most glaring exclusion to this is HSQLDB which only offers support for
READ_UNCOMMITTED isolation.
- Since:
- 3.2
- Author:
- Steve Ebersole
- See Also:
Dialect.getLockingStrategy(org.hibernate.persister.entity.Lockable, org.hibernate.LockMode)
Method Summary |
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. |
lock
void lock(Serializable id,
Object version,
Object object,
int timeout,
SessionImplementor session)
throws StaleObjectStateException,
JDBCException
- Acquire an appropriate type of lock on the underlying data that will
endure until the end of the current transaction.
- 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 optimistic lock failure
as part of acquiring the requested database lock.
JDBCException
- Indicates errors from the JDBC driver.
Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.