FileDocCategorySizeDatePackage
LockMode.javaAPI DocHibernate 3.2.53350Thu Mar 09 08:50:16 GMT 2006org.hibernate

LockMode

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.
see
Session#lock(Object,LockMode)
author
Gavin King

Fields Summary
private final int
level
private final String
name
private static final Map
INSTANCES
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
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
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 static final LockMode
FORCE
Similiar to {@link #UPGRADE} except that, for versioned entities, it results in a forced version increment.
Constructors Summary
private LockMode(int level, String name)


	     
		this.level=level;
		this.name=name;
	
Methods Summary
public booleangreaterThan(org.hibernate.LockMode mode)
Check if this lock mode is more restrictive than the given lock mode.

param
mode LockMode to check
return
true if this lock mode is more restrictive than given lock mode

		return level > mode.level;
	
public booleanlessThan(org.hibernate.LockMode mode)
Check if this lock mode is less restrictive than the given lock mode.

param
mode LockMode to check
return
true if this lock mode is less restrictive than given lock mode

		return level < mode.level;
	
public static org.hibernate.LockModeparse(java.lang.String name)

		return ( LockMode ) INSTANCES.get(name);
	
private java.lang.ObjectreadResolve()


	 
		INSTANCES.put( NONE.name, NONE );
		INSTANCES.put( READ.name, READ );
		INSTANCES.put( UPGRADE.name, UPGRADE );
		INSTANCES.put( UPGRADE_NOWAIT.name, UPGRADE_NOWAIT );
		INSTANCES.put( WRITE.name, WRITE );
		INSTANCES.put( FORCE.name, FORCE );
	
		return parse( name );
	
public java.lang.StringtoString()

		return name;