站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Hibernate 3.2.3 正式版 API 英文文档

SelectLockingStrategy (Hibernate API Documentation) - Hibernate 3.2.3 正式版 API 英文文档


org.hibernate.dialect.lock
Class SelectLockingStrategy

java.lang.Object
  extended byorg.hibernate.dialect.lock.SelectLockingStrategy
All Implemented Interfaces:
LockingStrategy
Direct Known Subclasses:
HSQLDialect.ReadUncommittedLockingStrategy

public class SelectLockingStrategy
extends Object
implements LockingStrategy

A locking strategy where the locks are obtained through select statements.

For non-read locks, this is achieved through the Dialect's specific SELECT ... FOR UPDATE syntax.

Since:
3.2
Author:
Steve Ebersole
See Also:
Dialect.getForUpdateString(org.hibernate.LockMode), Dialect.appendLockHint(org.hibernate.LockMode, String)

Constructor Summary
SelectLockingStrategy(Lockable lockable, LockMode lockMode)
          Construct a locking strategy based on SQL SELECT statements.
 
Method Summary
protected  String generateLockString()
           
protected  LockMode getLockMode()
           
 void lock(Serializable id, Object version, Object object, SessionImplementor session)
          Acquire an appropriate type of lock on the underlying data that will endure until the end of the current transaction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectLockingStrategy

public SelectLockingStrategy(Lockable lockable,
                             LockMode lockMode)
Construct a locking strategy based on SQL SELECT statements.

Parameters:
lockable - The metadata for the entity to be locked.
lockMode - Indictates the type of lock to be acquired.
Method Detail

lock

public void lock(Serializable id,
                 Object version,
                 Object object,
                 SessionImplementor 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 interface LockingStrategy
Parameters:
id - The id of the row to be locked
version - The current version (or null if not versioned)
object - The object logically being locked (currently not used)
session - The session from which the lock request originated
Throws:
StaleObjectStateException - Indicates an optimisitic lock failure as part of acquiring the requested database lock.
JDBCException
See Also:
LockingStrategy.lock(java.io.Serializable, java.lang.Object, java.lang.Object, org.hibernate.engine.SessionImplementor)

getLockMode

protected LockMode getLockMode()

generateLockString

protected String generateLockString()