## org.hibernate
Class LockMode

    java.lang.Object
      org.hibernate.LockMode

All Implemented Interfaces:
  Serializable

    public final class LockMode

extends Object
implements Serializable

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.

Author:
  Gavin King
See Also:
  `Session.lock(Object,LockMode)`, Serialized Form

Field Summary
`static LockMode` `FORCE` Deprecated. instead use PESSIMISTIC_FORCE_INCREMENT
`static LockMode` `NONE` No lock required.
`static LockMode` `OPTIMISTIC` Optimisticly assume that transaction will not experience contention for entities.
`static LockMode` `OPTIMISTIC_FORCE_INCREMENT` Optimisticly assume that transaction will not experience contention for entities.
`static LockMode` `PESSIMISTIC_FORCE_INCREMENT` Transaction will immediately increment the entity version.
`static LockMode` `PESSIMISTIC_READ` Implemented as PESSIMISTIC_WRITE.
`static LockMode` `PESSIMISTIC_WRITE` Transaction will obtain a database lock immediately.
`static LockMode` `READ` A shared lock.
`static LockMode` `UPGRADE` Deprecated. instead use PESSIMISTIC_WRITE
`static LockMode` `UPGRADE_NOWAIT` Attempt to obtain an upgrade lock, using an Oracle-style `select for update nowait`.
`static LockMode` `WRITE` A `WRITE` lock is obtained when an object is updated or inserted.

Method Summary
`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()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### NONE

    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.

### READ

    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.

### UPGRADE

    public static final LockMode UPGRADE

  Deprecated. instead use PESSIMISTIC_WRITE
  An upgrade lock. Objects loaded in this lock mode are materialized using an SQL `select ... for update`.

### UPGRADE_NOWAIT

    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`.

### WRITE

    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).

### FORCE

    public static final LockMode FORCE

  Deprecated. instead use PESSIMISTIC_FORCE_INCREMENT
  Similiar to `UPGRADE` except that, for versioned entities, it results in a forced version increment.

### OPTIMISTIC

    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.

### OPTIMISTIC_FORCE_INCREMENT

    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.

### PESSIMISTIC_READ

    public static final LockMode PESSIMISTIC_READ

  Implemented as PESSIMISTIC_WRITE. TODO: introduce separate support for PESSIMISTIC_READ

### PESSIMISTIC_WRITE

    public static final LockMode PESSIMISTIC_WRITE

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

### PESSIMISTIC_FORCE_INCREMENT

    public static final LockMode PESSIMISTIC_FORCE_INCREMENT

  Transaction will immediately increment the entity version.

Method Detail

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### greaterThan

    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

### lessThan

    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

### parse

    public static LockMode parse(String name)

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.