Overview | Package | Class | Tree | Deprecated | Index | Help
| Java EE 5 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD

## javax.persistence
Enum LockModeType

    java.lang.Object
      java.lang.Enum<LockModeType>
          javax.persistence.LockModeType

All Implemented Interfaces:
  Serializable, Comparable<LockModeType>

    public enum LockModeType

extends Enum<LockModeType>

Lock modes that can be specified by means of the `EntityManager.lock()` method.

The semantics of requesting locks of type `LockModeType.READ` and `LockModeType.WRITE` are the following.

If transaction T1 calls lock(entity, `LockModeType.READ`) on a versioned object, the entity manager must ensure that neither of the following phenomena can occur:

- P1 (Dirty read): Transaction T1 modifies a row. Another transaction T2 then reads that row and obtains the modified value, before T1 has committed or rolled back. Transaction T2 eventually commits successfully; it does not matter whether T1 commits or rolls back and whether it does so before or after T2 commits.
P2 (Non-repeatable read): Transaction T1 reads a row. Another transaction T2 then modifies or deletes that row, before T1 has committed. Both transactions eventually commit successfully.

Lock modes must always prevent the phenomena P1 and P2.

In addition, calling lock(entity, LockModeType.WRITE) on a versioned object, will also force an update (increment) to the entity's version column.

The persistence implementation is not required to support calling `EntityManager.lock()` on a non-versioned object. When it cannot support a such lock call, it must throw the `PersistenceException`.

Since:
  Java Persistence 1.0

Enum Constant Summary
`READ` Read lock
`WRITE` Write lock

Method Summary
`static LockModeType` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static LockModeType[]` | `values()` Returns an array containing the constants of this enum type, in the order they're declared.

Methods inherited from class java.lang.Enum
`clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

Enum Constant Detail

### READ

    public static final LockModeType READ

  Read lock

### WRITE

    public static final LockModeType WRITE

  Write lock

Method Detail

### values

    public static final LockModeType[] values()

  Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants as follows:

      for(LockModeType c : LockModeType.values())
              System.out.println(c);

  Returns:
    an array containing the constants of this enum type, in the order they're declared

### valueOf

    public static LockModeType valueOf(String name)

  Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

  Parameters:
    `name` - the name of the enum constant to be returned.
  Returns:
    the enum constant with the specified name
  Throws:
    `IllegalArgumentException` - if this enum type has no constant with the specified name

Overview | Package | Class | Tree | Deprecated | Index | Help
| Java EE 5 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD

Submit a bug or feature

Copyright 2006 Sun Microsystems, Inc. All rights reserved.