Class OptimisticForceIncrementLockingStrategy

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

public class OptimisticForceIncrementLockingStrategy extends Object implements LockingStrategy
An optimistic locking strategy that verifies that the version has not changed and then forces an increment of the version, just before committing the transaction.

This strategy is valid for LockMode.OPTIMISTIC_FORCE_INCREMENT.

Since:
3.5
  • Constructor Details

    • OptimisticForceIncrementLockingStrategy

      public OptimisticForceIncrementLockingStrategy(EntityPersister 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 Details

    • lock

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