Class AbstractPessimisticUpdateLockingStrategy

java.lang.Object
org.hibernate.dialect.lock.AbstractPessimisticUpdateLockingStrategy
All Implemented Interfaces:
LockingStrategy
Direct Known Subclasses:
PessimisticReadUpdateLockingStrategy, PessimisticWriteUpdateLockingStrategy, UpdateLockingStrategy

public abstract class AbstractPessimisticUpdateLockingStrategy extends Object implements LockingStrategy
Since:
7.2
  • Constructor Details

    • AbstractPessimisticUpdateLockingStrategy

      public AbstractPessimisticUpdateLockingStrategy(EntityPersister lockable, LockMode lockMode)
      Construct a locking strategy based on SQL UPDATE statements.
      Parameters:
      lockable - The metadata for the entity to be locked.
      lockMode - Indicates the type of lock to be acquired. Note that read-locks are not valid for this strategy.
  • Method Details

    • lock

      public void lock(Object id, Object version, Object object, int timeout, SharedSessionContractImplementor 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
    • generateLockString

      protected String generateLockString()
    • getLockMode

      protected LockMode getLockMode()