public final class

LockMode

extends Object
implements Serializable
java.lang.Object
   ↳ org.hibernate.LockMode

Class Overview

Instances represent a lock mode for a row of a relational database table. It is not intended that users spend much time worrying about locking since Hibernate usually obtains exactly the right lock level automatically. Some "advanced" users may wish to explicitly specify lock levels.

Summary

Fields
public static final LockMode FORCE This field is deprecated. instead use PESSIMISTIC_FORCE_INCREMENT
public static final LockMode NONE No lock required.
public static final LockMode OPTIMISTIC Optimisticly assume that transaction will not experience contention for entities.
public static final LockMode OPTIMISTIC_FORCE_INCREMENT Optimisticly assume that transaction will not experience contention for entities.
public static final LockMode PESSIMISTIC_FORCE_INCREMENT Transaction will immediately increment the entity version.
public static final LockMode PESSIMISTIC_READ Implemented as PESSIMISTIC_WRITE.
public static final LockMode PESSIMISTIC_WRITE Transaction will obtain a database lock immediately.
public static final LockMode READ A shared lock.
public static final LockMode UPGRADE This field is deprecated. instead use PESSIMISTIC_WRITE
public static final LockMode UPGRADE_NOWAIT Attempt to obtain an upgrade lock, using an Oracle-style select for update nowait.
public static final LockMode WRITE A WRITE lock is obtained when an object is updated or inserted.
Public Methods
boolean greaterThan(LockMode mode)
Check if this lock mode is more restrictive than the given lock mode.
boolean lessThan(LockMode mode)
Check if this lock mode is less restrictive than the given lock mode.
static LockMode parse(String name)
String toString()
[Expand]
Inherited Methods
From class java.lang.Object

Fields

public static final LockMode FORCE

This field is deprecated.
instead use PESSIMISTIC_FORCE_INCREMENT

Similiar to UPGRADE except that, for versioned entities, it results in a forced version increment.

public static final LockMode NONE

No lock required. If an object is requested with this lock mode, a READ lock will be obtained if it is necessary to actually read the state from the database, rather than pull it from a cache.

This is the "default" lock mode.

public static final LockMode OPTIMISTIC

Optimisticly assume that transaction will not experience contention for entities. The entity version will be verified near the transaction end.

public static final LockMode OPTIMISTIC_FORCE_INCREMENT

Optimisticly assume that transaction will not experience contention for entities. The entity version will be verified and incremented near the transaction end.

public static final LockMode PESSIMISTIC_FORCE_INCREMENT

Transaction will immediately increment the entity version.

public static final LockMode PESSIMISTIC_READ

Implemented as PESSIMISTIC_WRITE. TODO: introduce separate support for PESSIMISTIC_READ

public static final LockMode PESSIMISTIC_WRITE

Transaction will obtain a database lock immediately. TODO: add PESSIMISTIC_WRITE_NOWAIT

public static final LockMode READ

A shared lock. Objects in this lock mode were read from the database in the current transaction, rather than being pulled from a cache.

public static final LockMode UPGRADE

This field is deprecated.
instead use PESSIMISTIC_WRITE

An upgrade lock. Objects loaded in this lock mode are materialized using an SQL select ... for update.

public static final LockMode UPGRADE_NOWAIT

Attempt to obtain an upgrade lock, using an Oracle-style select for update nowait. The semantics of this lock mode, once obtained, are the same as UPGRADE.

public static final LockMode WRITE

A WRITE lock is obtained when an object is updated or inserted. This lock mode is for internal use only and is not a valid mode for load() or lock() (both of which throw exceptions if WRITE is specified).

Public Methods

public boolean greaterThan (LockMode mode)

Check if this lock mode is more restrictive than the given lock mode.

Parameters
mode LockMode to check
Returns
  • true if this lock mode is more restrictive than given lock mode

public boolean lessThan (LockMode mode)

Check if this lock mode is less restrictive than the given lock mode.

Parameters
mode LockMode to check
Returns
  • true if this lock mode is less restrictive than given lock mode

public static LockMode parse (String name)

public String toString ()