## org.hibernate.persister.entity
Interface Lockable

All Superinterfaces:
  EntityPersister, OptimisticCacheSource

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

Since:
  3.2
Author:
  Steve Ebersole

Field Summary

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, getIdentifier, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getMappedClass, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getPropertyCascadeStyles, getPropertyCheckability, getPropertyInsertability, getPropertyInsertGenerationInclusions, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpaces, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyUpdateGenerationInclusions, 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, instantiate, isBatchLoadable, isCacheInvalidationRequired, isIdentifierAssignedByInsert, isInherited, isInstance, isInstrumented, isLazyPropertiesCacheable, isMutable, isSelectBeforeUpdateRequired, isSubclassEntityName, isTransient, isVersioned, isVersionPropertyGenerated, load, load, lock, lock, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, resetIdentifier, setIdentifier, setIdentifier, setPropertyValue, setPropertyValues, update`

Methods inherited from interface org.hibernate.cache.OptimisticCacheSource
`getVersionComparator`

Method Detail

### getRootTableName

    String getRootTableName()

  Locks are always applied to the "root table".

  Returns:
    The root table name

### getRootTableAlias

    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

    String[] getRootTableIdentifierColumnNames()

  Get the names of columns on the root table used to persist the identifier.

  Returns:
    The root table identifier column names.

### getVersionColumnName

    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.

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