org.hibernate.dialect.lock
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 forces an increment of the version (after verifying that version hasn't changed).
This takes place just prior to transaction commit.
This strategy is valid for LockMode.OPTIMISTIC_FORCE_INCREMENT
- Since:
- 3.5
- Author:
- Scott Marlow
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OptimisticForceIncrementLockingStrategy
public OptimisticForceIncrementLockingStrategy(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.
lock
public void lock(Serializable id,
Object version,
Object object,
int timeout,
SessionImplementor session)
throws StaleObjectStateException,
JDBCException
- 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 lockedversion
- 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 indefinitelysession
- The session from which the lock request originated
- Throws:
StaleObjectStateException
- Indicates an optimistic lock failure
as part of acquiring the requested database lock.
JDBCException
- Indicates errors from the JDBC driver.- See Also:
LockingStrategy.lock(java.io.Serializable, java.lang.Object, java.lang.Object, int, org.hibernate.engine.SessionImplementor)
getLockMode
protected LockMode getLockMode()
Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.