org.hibernate.dialect.lock
Class UpdateLockingStrategy

java.lang.Object
  extended by org.hibernate.dialect.lock.UpdateLockingStrategy
All Implemented Interfaces:
LockingStrategy

public class UpdateLockingStrategy
extends Object
implements LockingStrategy

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

This strategy is not valid for read style locks.

Since:
3.2

Constructor Summary
UpdateLockingStrategy(Lockable lockable, LockMode lockMode)
          Construct a locking strategy based on SQL UPDATE statements.
 
Method Summary
protected  String generateLockString()
           
protected  LockMode getLockMode()
           
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UpdateLockingStrategy

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

Parameters:
lockable - The metadata for the entity to be locked.
lockMode - Indictates the type of lock to be acquired. Note that read-locks are not valid for this strategy.
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.

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)
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

generateLockString

protected String generateLockString()

getLockMode

protected LockMode getLockMode()


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