Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate.dialect.lock
Class SelectLockingStrategy

    java.lang.Object
      org.hibernate.dialect.lock.AbstractSelectLockingStrategy
          org.hibernate.dialect.lock.SelectLockingStrategy

All Implemented Interfaces:
  LockingStrategy

Direct Known Subclasses:
  HSQLDialect.ReadUncommittedLockingStrategy

    public class SelectLockingStrategy

extends AbstractSelectLockingStrategy

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
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(int timeout)`
`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.

Methods inherited from class org.hibernate.dialect.lock.AbstractSelectLockingStrategy
`determineSql, getLockable, getLockMode, getNoWaitSql`

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,
                     int timeout,
                     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.

  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)
    `timeout` - timeout in milliseconds, 0 = no wait, -1 = wait indefinitely
    `session` - 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`
  See Also:
    `LockingStrategy.lock(java.io.Serializable, java.lang.Object, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor)`

### generateLockString

    protected String generateLockString(int timeout)

  Specified by:
    `generateLockString` in class `AbstractSelectLockingStrategy`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.