Class PessimisticForceIncrementLockingStrategy

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

public class PessimisticForceIncrementLockingStrategy extends Object implements LockingStrategy
A pessimistic locking strategy where a lock is obtained by incrementing the version immediately, obtaining an exclusive write lock by side effect.

This strategy is valid for LockMode.PESSIMISTIC_FORCE_INCREMENT.

Since:
3.5
  • Constructor Details

    • PessimisticForceIncrementLockingStrategy

      public PessimisticForceIncrementLockingStrategy(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()
      Retrieve the specific lock mode defined.
      Returns:
      The specific lock mode.