## org.hibernate.mapping
Class PersistentClass

    java.lang.Object
      org.hibernate.mapping.PersistentClass

All Implemented Interfaces:
  Serializable, Filterable, MetaAttributable

Direct Known Subclasses:
  RootClass, Subclass

    public abstract class PersistentClass

extends Object
implements Serializable, Filterable, MetaAttributable

Mapping for an entity.

See Also:
  Serialized Form

Field Summary
`static String` `NOT_NULL_DISCRIMINATOR_MAPPING`
`static String` `NULL_DISCRIMINATOR_MAPPING`
`protected int` `optimisticLockMode`
`protected Set` `synchronizedTables`

Constructor Summary
`PersistentClass()`

Method Summary
`abstract Object` `accept(PersistentClassVisitor mv)`
`void` `addFilter(String name, String condition)`
`void` `addJoin(Join join)`
`void` `addMappedsuperclassProperty(Property p)`
`void` `addProperty(Property p)`
`void` `addSubclass(Subclass subclass)`
`protected void` `addSubclassJoin(Join join)`
`protected void` `addSubclassProperty(Property prop)`
`protected void` `addSubclassTable(Table subclassTable)`
`void` `addSynchronizedTable(String table)`
`void` `addTuplizer(EntityMode entityMode, String implClassName)`
`protected void` `checkColumnDuplication()`
`protected void` `checkColumnDuplication(Set distinctColumns, Iterator columns)`
`protected void` `checkPropertyColumnDuplication(Set distinctColumns, Iterator properties)`
`void` `createPrimaryKey()`
`int` `getBatchSize()`
`abstract String` `getCacheConcurrencyStrategy()`
`String` `getClassName()`
`String` `getCustomSQLDelete()`
`ExecuteUpdateResultCheckStyle` `getCustomSQLDeleteCheckStyle()`
`String` `getCustomSQLInsert()`
`ExecuteUpdateResultCheckStyle` `getCustomSQLInsertCheckStyle()`
`String` `getCustomSQLUpdate()`
`ExecuteUpdateResultCheckStyle` `getCustomSQLUpdateCheckStyle()`
`Component` `getDeclaredIdentifierMapper()`
`abstract Property` `getDeclaredIdentifierProperty()`
`Iterator` `getDeclaredPropertyIterator()`
`abstract Property` `getDeclaredVersion()`
`Iterator` `getDirectSubclasses()`
`abstract Value` `getDiscriminator()`
`protected Iterator` `getDiscriminatorColumnIterator()`
`String` `getDiscriminatorValue()`
`String` `getEntityName()`
`abstract Class` `getEntityPersisterClass()`
`Map` `getFilterMap()`
`abstract KeyValue` `getIdentifier()`
`Component` `getIdentifierMapper()`
`abstract Property` `getIdentifierProperty()`
`Table` `getIdentityTable()`
`Iterator` `getJoinClosureIterator()`
`int` `getJoinClosureSpan()`
`Iterator` `getJoinIterator()`
`int` `getJoinNumber(Property prop)`
`String` `getJpaEntityName()`
`abstract KeyValue` `getKey()`
`abstract Iterator` `getKeyClosureIterator()`
`String` `getLoaderName()`
`Class` `getMappedClass()`
`MetaAttribute` `getMetaAttribute(String name)`
`Map` `getMetaAttributes()`
`abstract String` `getNaturalIdCacheRegionName()`
`String` `getNodeName()`
`protected Iterator` `getNonDuplicatedPropertyIterator()`
`abstract int` `getOptimisticLockMode()`
`Property` `getProperty(String propertyName)`
`abstract Iterator` `getPropertyClosureIterator()`
`int` `getPropertyClosureSpan()`
`Iterator` `getPropertyIterator()` Build an iterator over the properties defined on this class.
`Class` `getProxyInterface()`
`String` `getProxyInterfaceName()`
`Property` `getRecursiveProperty(String propertyPath)`
`Iterator` `getReferenceablePropertyIterator()` Build an iterator of properties which are "referenceable".
`Property` `getReferencedProperty(String propertyPath)` Given a property path, locate the appropriate referenceable property reference.
`abstract RootClass` `getRootClass()`
`abstract Table` `getRootTable()`
`Iterator` `getSubclassClosureIterator()`
`abstract int` `getSubclassId()`
`Iterator` `getSubclassIterator()` Iterate over subclasses in a special 'order', most derived subclasses first.
`Iterator` `getSubclassJoinClosureIterator()`
`Iterator` `getSubclassPropertyClosureIterator()`
`int` `getSubclassSpan()`
`Iterator` `getSubclassTableClosureIterator()`
`abstract PersistentClass` `getSuperclass()`
`MappedSuperclass` `getSuperMappedSuperclass()`
`abstract Set` `getSynchronizedTables()`
`abstract Table` `getTable()`
`abstract Iterator` `getTableClosureIterator()`
`String` `getTemporaryIdTableDDL()`
`String` `getTemporaryIdTableName()`
`String` `getTuplizerImplClassName(EntityMode mode)`
`Map` `getTuplizerMap()`
`Iterator` `getUnjoinedPropertyIterator()` Build an iterator over the properties defined on this class which are not defined as part of a join.
`abstract Property` `getVersion()`
`abstract String` `getWhere()`
`boolean` `hasDom4jRepresentation()`
`abstract boolean` `hasEmbeddedIdentifier()`
`boolean` `hasIdentifierMapper()`
`abstract boolean` `hasIdentifierProperty()`
`boolean` `hasNaturalId()`
`boolean` `hasPojoRepresentation()`
`boolean` `hasSelectBeforeUpdate()`
`boolean` `hasSubclasses()`
`boolean` `hasSubselectLoadableCollections()`
`Boolean` `isAbstract()`
`boolean` `isClassOrSuperclassJoin(Join join)`
`boolean` `isClassOrSuperclassTable(Table closureTable)`
`boolean` `isCustomDeleteCallable()`
`boolean` `isCustomInsertCallable()`
`boolean` `isCustomUpdateCallable()`
`abstract boolean` `isDiscriminatorInsertable()`
`boolean` `isDiscriminatorValueNotNull()`
`boolean` `isDiscriminatorValueNull()`
`abstract boolean` `isExplicitPolymorphism()`
`boolean` `isForceDiscriminator()`
`abstract boolean` `isInherited()`
`abstract boolean` `isJoinedSubclass()`
`boolean` `isLazy()`
`abstract boolean` `isLazyPropertiesCacheable()`
`abstract boolean` `isMutable()`
`abstract boolean` `isPolymorphic()`
`abstract boolean` `isVersioned()`
`void` `prepareTemporaryTables(Mapping mapping, Dialect dialect)`
`void` `setAbstract(Boolean isAbstract)`
`void` `setBatchSize(int batchSize)`
`void` `setClassName(String className)`
`void` `setCustomSQLDelete(String customSQLDelete, boolean callable, ExecuteUpdateResultCheckStyle checkStyle)`
`void` `setCustomSQLInsert(String customSQLInsert, boolean callable, ExecuteUpdateResultCheckStyle checkStyle)`
`void` `setCustomSQLUpdate(String customSQLUpdate, boolean callable, ExecuteUpdateResultCheckStyle checkStyle)`
`void` `setDeclaredIdentifierMapper(Component declaredIdentifierMapper)`
`void` `setDiscriminatorValue(String discriminatorValue)`
`void` `setDynamicInsert(boolean dynamicInsert)`
`void` `setDynamicUpdate(boolean dynamicUpdate)`
`void` `setEntityName(String entityName)`
`abstract void` `setEntityPersisterClass(Class classPersisterClass)`
`void` `setIdentifierMapper(Component handle)`
`void` `setJpaEntityName(String jpaEntityName)`
`void` `setLazy(boolean lazy)`
`void` `setLoaderName(String loaderName)`
`void` `setMetaAttributes(Map metas)`
`void` `setNodeName(String nodeName)`
`void` `setOptimisticLockMode(int optimisticLockMode)`
`void` `setProxyInterfaceName(String proxyInterfaceName)`
`void` `setSelectBeforeUpdate(boolean selectBeforeUpdate)`
`void` `setSubselectLoadableCollections(boolean hasSubselectCollections)`
`void` `setSuperMappedSuperclass(MappedSuperclass superMappedSuperclass)`
`String` `toString()`
`boolean` `useDynamicInsert()`
`boolean` `useDynamicUpdate()`
`void` `validate(Mapping mapping)`

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

Field Detail

### NULL_DISCRIMINATOR_MAPPING

    public static final String NULL_DISCRIMINATOR_MAPPING

See Also:
  Constant Field Values

### NOT_NULL_DISCRIMINATOR_MAPPING

    public static final String NOT_NULL_DISCRIMINATOR_MAPPING

See Also:
  Constant Field Values

### synchronizedTables

    protected final Set synchronizedTables

### optimisticLockMode

    protected int optimisticLockMode

Constructor Detail

### PersistentClass

    public PersistentClass()

Method Detail

### getClassName

    public String getClassName()

### setClassName

    public void setClassName(String className)

### getProxyInterfaceName

    public String getProxyInterfaceName()

### setProxyInterfaceName

    public void setProxyInterfaceName(String proxyInterfaceName)

### getMappedClass

    public Class getMappedClass()
                         throws MappingException

  Throws:
    `MappingException`

### getProxyInterface

    public Class getProxyInterface()

### useDynamicInsert

    public boolean useDynamicInsert()

### getSubclassId

    public abstract int getSubclassId()

### useDynamicUpdate

    public boolean useDynamicUpdate()

### setDynamicInsert

    public void setDynamicInsert(boolean dynamicInsert)

### setDynamicUpdate

    public void setDynamicUpdate(boolean dynamicUpdate)

### getDiscriminatorValue

    public String getDiscriminatorValue()

### addSubclass

    public void addSubclass(Subclass subclass)
                     throws MappingException

  Throws:
    `MappingException`

### hasSubclasses

    public boolean hasSubclasses()

### getSubclassSpan

    public int getSubclassSpan()

### getSubclassIterator

    public Iterator getSubclassIterator()

  Iterate over subclasses in a special 'order', most derived subclasses first.

### getSubclassClosureIterator

    public Iterator getSubclassClosureIterator()

### getIdentityTable

    public Table getIdentityTable()

### getDirectSubclasses

    public Iterator getDirectSubclasses()

### addProperty

    public void addProperty(Property p)

### getTable

    public abstract Table getTable()

### getEntityName

    public String getEntityName()

### isMutable

    public abstract boolean isMutable()

### hasIdentifierProperty

    public abstract boolean hasIdentifierProperty()

### getIdentifierProperty

    public abstract Property getIdentifierProperty()

### getDeclaredIdentifierProperty

    public abstract Property getDeclaredIdentifierProperty()

### getIdentifier

    public abstract KeyValue getIdentifier()

### getVersion

    public abstract Property getVersion()

### getDeclaredVersion

    public abstract Property getDeclaredVersion()

### getDiscriminator

    public abstract Value getDiscriminator()

### isInherited

    public abstract boolean isInherited()

### isPolymorphic

    public abstract boolean isPolymorphic()

### isVersioned

    public abstract boolean isVersioned()

### getNaturalIdCacheRegionName

    public abstract String getNaturalIdCacheRegionName()

### getCacheConcurrencyStrategy

    public abstract String getCacheConcurrencyStrategy()

### getSuperclass

    public abstract PersistentClass getSuperclass()

### isExplicitPolymorphism

    public abstract boolean isExplicitPolymorphism()

### isDiscriminatorInsertable

    public abstract boolean isDiscriminatorInsertable()

### getPropertyClosureIterator

    public abstract Iterator getPropertyClosureIterator()

### getTableClosureIterator

    public abstract Iterator getTableClosureIterator()

### getKeyClosureIterator

    public abstract Iterator getKeyClosureIterator()

### addSubclassProperty

    protected void addSubclassProperty(Property prop)

### addSubclassJoin

    protected void addSubclassJoin(Join join)

### addSubclassTable

    protected void addSubclassTable(Table subclassTable)

### getSubclassPropertyClosureIterator

    public Iterator getSubclassPropertyClosureIterator()

### getSubclassJoinClosureIterator

    public Iterator getSubclassJoinClosureIterator()

### getSubclassTableClosureIterator

    public Iterator getSubclassTableClosureIterator()

### isClassOrSuperclassJoin

    public boolean isClassOrSuperclassJoin(Join join)

### isClassOrSuperclassTable

    public boolean isClassOrSuperclassTable(Table closureTable)

### isLazy

    public boolean isLazy()

### setLazy

    public void setLazy(boolean lazy)

### hasEmbeddedIdentifier

    public abstract boolean hasEmbeddedIdentifier()

### getEntityPersisterClass

    public abstract Class getEntityPersisterClass()

### setEntityPersisterClass

    public abstract void setEntityPersisterClass(Class classPersisterClass)

### getRootTable

    public abstract Table getRootTable()

### getRootClass

    public abstract RootClass getRootClass()

### getKey

    public abstract KeyValue getKey()

### setDiscriminatorValue

    public void setDiscriminatorValue(String discriminatorValue)

### setEntityName

    public void setEntityName(String entityName)

### createPrimaryKey

    public void createPrimaryKey()

### getWhere

    public abstract String getWhere()

### getBatchSize

    public int getBatchSize()

### setBatchSize

    public void setBatchSize(int batchSize)

### hasSelectBeforeUpdate

    public boolean hasSelectBeforeUpdate()

### setSelectBeforeUpdate

    public void setSelectBeforeUpdate(boolean selectBeforeUpdate)

### getReferenceablePropertyIterator

    public Iterator getReferenceablePropertyIterator()

  Build an iterator of properties which are "referenceable".

  Returns:
    The property iterator.
  See Also:
    `for a discussion of "referenceable"`

### getReferencedProperty

    public Property getReferencedProperty(String propertyPath)
                                   throws MappingException

  Given a property path, locate the appropriate referenceable property reference.

  A referenceable property is a property which can be a target of a foreign-key mapping (an identifier or explcitly named in a property-ref).

  Parameters:
    `propertyPath` - The property path to resolve into a property reference.
  Returns:
    The property reference (never null).
  Throws:
    `MappingException` - If the property could not be found.

### getRecursiveProperty

    public Property getRecursiveProperty(String propertyPath)
                                  throws MappingException

  Throws:
    `MappingException`

### getProperty

    public Property getProperty(String propertyName)
                         throws MappingException

  Throws:
    `MappingException`

### getOptimisticLockMode

    public abstract int getOptimisticLockMode()

### setOptimisticLockMode

    public void setOptimisticLockMode(int optimisticLockMode)

### validate

    public void validate(Mapping mapping)
                  throws MappingException

  Throws:
    `MappingException`

### isDiscriminatorValueNotNull

    public boolean isDiscriminatorValueNotNull()

### isDiscriminatorValueNull

    public boolean isDiscriminatorValueNull()

### getMetaAttributes

    public Map getMetaAttributes()

  Specified by:
    `getMetaAttributes` in interface `MetaAttributable`

### setMetaAttributes

    public void setMetaAttributes(Map metas)

  Specified by:
    `setMetaAttributes` in interface `MetaAttributable`

### getMetaAttribute

    public MetaAttribute getMetaAttribute(String name)

  Specified by:
    `getMetaAttribute` in interface `MetaAttributable`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### getJoinIterator

    public Iterator getJoinIterator()

### getJoinClosureIterator

    public Iterator getJoinClosureIterator()

### addJoin

    public void addJoin(Join join)

### getJoinClosureSpan

    public int getJoinClosureSpan()

### getPropertyClosureSpan

    public int getPropertyClosureSpan()

### getJoinNumber

    public int getJoinNumber(Property prop)

### getPropertyIterator

    public Iterator getPropertyIterator()

  Build an iterator over the properties defined on this class. The returned iterator only accounts for "normal" properties (i.e. non-identifier properties).

  Differs from `getUnjoinedPropertyIterator()` in that the iterator we return here will include properties defined as part of a join.

  Returns:
    An iterator over the "normal" properties.

### getUnjoinedPropertyIterator

    public Iterator getUnjoinedPropertyIterator()

  Build an iterator over the properties defined on this class which are not defined as part of a join. As with `getPropertyIterator()`, the returned iterator only accounts for non-identifier properties.

  Returns:
    An iterator over the non-joined "normal" properties.

### setCustomSQLInsert

    public void setCustomSQLInsert(String customSQLInsert,
                                   boolean callable,
                                   ExecuteUpdateResultCheckStyle checkStyle)

### getCustomSQLInsert

    public String getCustomSQLInsert()

### isCustomInsertCallable

    public boolean isCustomInsertCallable()

### getCustomSQLInsertCheckStyle

    public ExecuteUpdateResultCheckStyle getCustomSQLInsertCheckStyle()

### setCustomSQLUpdate

    public void setCustomSQLUpdate(String customSQLUpdate,
                                   boolean callable,
                                   ExecuteUpdateResultCheckStyle checkStyle)

### getCustomSQLUpdate

    public String getCustomSQLUpdate()

### isCustomUpdateCallable

    public boolean isCustomUpdateCallable()

### getCustomSQLUpdateCheckStyle

    public ExecuteUpdateResultCheckStyle getCustomSQLUpdateCheckStyle()

### setCustomSQLDelete

    public void setCustomSQLDelete(String customSQLDelete,
                                   boolean callable,
                                   ExecuteUpdateResultCheckStyle checkStyle)

### getCustomSQLDelete

    public String getCustomSQLDelete()

### isCustomDeleteCallable

    public boolean isCustomDeleteCallable()

### getCustomSQLDeleteCheckStyle

    public ExecuteUpdateResultCheckStyle getCustomSQLDeleteCheckStyle()

### addFilter

    public void addFilter(String name,
                          String condition)

  Specified by:
    `addFilter` in interface `Filterable`

### getFilterMap

    public Map getFilterMap()

  Specified by:
    `getFilterMap` in interface `Filterable`

### isForceDiscriminator

    public boolean isForceDiscriminator()

### isJoinedSubclass

    public abstract boolean isJoinedSubclass()

### getLoaderName

    public String getLoaderName()

### setLoaderName

    public void setLoaderName(String loaderName)

### getSynchronizedTables

    public abstract Set getSynchronizedTables()

### addSynchronizedTable

    public void addSynchronizedTable(String table)

### isAbstract

    public Boolean isAbstract()

### setAbstract

    public void setAbstract(Boolean isAbstract)

### checkColumnDuplication

    protected void checkColumnDuplication(Set distinctColumns,
                                          Iterator columns)
                                   throws MappingException

  Throws:
    `MappingException`

### checkPropertyColumnDuplication

    protected void checkPropertyColumnDuplication(Set distinctColumns,
                                                  Iterator properties)
                                           throws MappingException

  Throws:
    `MappingException`

### getNonDuplicatedPropertyIterator

    protected Iterator getNonDuplicatedPropertyIterator()

### getDiscriminatorColumnIterator

    protected Iterator getDiscriminatorColumnIterator()

### checkColumnDuplication

    protected void checkColumnDuplication()

### accept

    public abstract Object accept(PersistentClassVisitor mv)

### getNodeName

    public String getNodeName()

### setNodeName

    public void setNodeName(String nodeName)

### getJpaEntityName

    public String getJpaEntityName()

### setJpaEntityName

    public void setJpaEntityName(String jpaEntityName)

### hasPojoRepresentation

    public boolean hasPojoRepresentation()

### hasDom4jRepresentation

    public boolean hasDom4jRepresentation()

### hasSubselectLoadableCollections

    public boolean hasSubselectLoadableCollections()

### setSubselectLoadableCollections

    public void setSubselectLoadableCollections(boolean hasSubselectCollections)

### prepareTemporaryTables

    public void prepareTemporaryTables(Mapping mapping,
                                       Dialect dialect)

### getTemporaryIdTableName

    public String getTemporaryIdTableName()

### getTemporaryIdTableDDL

    public String getTemporaryIdTableDDL()

### getIdentifierMapper

    public Component getIdentifierMapper()

### getDeclaredIdentifierMapper

    public Component getDeclaredIdentifierMapper()

### setDeclaredIdentifierMapper

    public void setDeclaredIdentifierMapper(Component declaredIdentifierMapper)

### hasIdentifierMapper

    public boolean hasIdentifierMapper()

### setIdentifierMapper

    public void setIdentifierMapper(Component handle)

### addTuplizer

    public void addTuplizer(EntityMode entityMode,
                            String implClassName)

### getTuplizerImplClassName

    public String getTuplizerImplClassName(EntityMode mode)

### getTuplizerMap

    public Map getTuplizerMap()

### hasNaturalId

    public boolean hasNaturalId()

### isLazyPropertiesCacheable

    public abstract boolean isLazyPropertiesCacheable()

### getDeclaredPropertyIterator

    public Iterator getDeclaredPropertyIterator()

### addMappedsuperclassProperty

    public void addMappedsuperclassProperty(Property p)

### getSuperMappedSuperclass

    public MappedSuperclass getSuperMappedSuperclass()

### setSuperMappedSuperclass

    public void setSuperMappedSuperclass(MappedSuperclass superMappedSuperclass)

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