org.hibernate.persister.entity

Interface Lockable

All Superinterfaces:
EntityPersister, OptimisticCacheSource
Known Implementing Classes:
AbstractEntityPersister, JoinedSubclassEntityPersister, SingleTableEntityPersister, UnionSubclassEntityPersister

public interface Lockable
extends EntityPersister

Contract for things that can be locked via a LockingStrategy.

Currently only the root table gets locked, except for the case of HQL and Criteria queries against dialects which do not support either (1) FOR UPDATE OF or (2) support hint locking (in which case *all* queried tables would be locked).

Author:
Steve Ebersole
Since:
3.2

Fields inherited from interface org.hibernate.persister.entity.EntityPersister

ENTITY_ID

Method Summary

String
getRootTableAlias(String drivingAlias)
Get the SQL alias this persister would use for the root table given the passed driving alias.
String[]
getRootTableIdentifierColumnNames()
Get the names of columns on the root table used to persist the identifier.
String
getRootTableName()
Locks are always applied to the "root table".
String
getVersionColumnName()
For versioned entities, get the name of the column (again, expected on the root table) used to store the version values.

Methods inherited from interface org.hibernate.persister.entity.EntityPersister

afterInitialize, afterReassociate, canExtractIdOutOfEntity, createProxy, delete, findDirty, findModified, forceVersionIncrement, getCacheAccessStrategy, getCacheEntryStructure, getClassMetadata, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getEntityMetamodel, getEntityName, getFactory, getIdentifier, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getMappedClass, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getPropertyCascadeStyles, getPropertyCheckability, getPropertyInsertGenerationInclusions, getPropertyInsertability, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpaces, getPropertyType, getPropertyTypes, getPropertyUpdateGenerationInclusions, getPropertyUpdateability, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRootEntityName, getSubclassEntityPersister, getVersion, getVersionProperty, getVersionType, guessEntityMode, hasCache, hasCascades, hasCollections, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdentifier, hasProxy, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, implementsLifecycle, implementsValidatable, insert, insert, instantiate, isBatchLoadable, isCacheInvalidationRequired, isIdentifierAssignedByInsert, isInherited, isInstance, isInstrumented, isLazyPropertiesCacheable, isMutable, isSelectBeforeUpdateRequired, isSubclassEntityName, isTransient, isVersionPropertyGenerated, isVersioned, load, lock, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, setIdentifier, setPropertyValue, setPropertyValues, update

Methods inherited from interface org.hibernate.cache.OptimisticCacheSource

getVersionComparator, isVersioned

Method Details

getRootTableAlias

public String getRootTableAlias(String drivingAlias)
Get the SQL alias this persister would use for the root table given the passed driving alias.
Parameters:
drivingAlias - The driving alias; or the alias for the table mapped by this persister in the hierarchy.
Returns:
The root table alias.

getRootTableIdentifierColumnNames

public String[] getRootTableIdentifierColumnNames()
Get the names of columns on the root table used to persist the identifier.
Returns:
The root table identifier column names.

getRootTableName

public String getRootTableName()
Locks are always applied to the "root table".
Returns:
The root table name

getVersionColumnName

public String getVersionColumnName()
For versioned entities, get the name of the column (again, expected on the root table) used to store the version values.
Returns:
The version column name.