Class OptimisticLockingStrategy

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

public class OptimisticLockingStrategy extends Object implements LockingStrategy
An optimistic locking strategy that simply verifies that the version has not changed, just before committing the transaction.

This strategy is valid for LockMode.OPTIMISTIC.

Since:
3.5
  • Constructor Details

    • OptimisticLockingStrategy

      public OptimisticLockingStrategy(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()