org.hibernate.dialect.lock
Class OptimisticForceIncrementLockingStrategy

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

public class OptimisticForceIncrementLockingStrategy
extends Object
implements LockingStrategy

An optimistic locking strategy that forces an increment of the version (after verifying that version hasn't changed). This takes place just prior to transaction commit.

This strategy is valid for LockMode.OPTIMISTIC_FORCE_INCREMENT

Since:
3.5

Constructor Summary
OptimisticForceIncrementLockingStrategy(Lockable lockable, LockMode lockMode)
          Construct locking strategy.
 
Method Summary
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

OptimisticForceIncrementLockingStrategy

public OptimisticForceIncrementLockingStrategy(Lockable lockable,
                                               LockMode lockMode)
Construct locking strategy.

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

lock

public void lock(Serializable id,
                 Object version,
                 Object object,
                 int timeout,
                 SessionImplementor session)
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

getLockMode

protected LockMode getLockMode()


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