## org.hibernate.dialect.lock
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 verifies that the version hasn't changed (prior to transaction commit).

This strategy is valid for LockMode.OPTIMISTIC

Since:
  3.5

Constructor Summary
`OptimisticLockingStrategy(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

### OptimisticLockingStrategy

    public OptimisticLockingStrategy(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-2012 Red Hat, Inc. All Rights Reserved.