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.
- Author:
- Gavin King
- See Also:
- Serialized Form
Method Summary |
abstract Object |
accept(PersistentClassVisitor mv)
|
void |
addFilter(String name,
String condition)
|
void |
addJoin(Join join)
|
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()
|
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)
|
abstract KeyValue |
getKey()
|
abstract Iterator |
getKeyClosureIterator()
|
String |
getLoaderName()
|
Class |
getMappedClass()
|
MetaAttribute |
getMetaAttribute(String name)
|
Map |
getMetaAttributes()
|
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()
|
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 |
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 |
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)
|
String |
toString()
|
boolean |
useDynamicInsert()
|
boolean |
useDynamicUpdate()
|
void |
validate(Mapping mapping)
|
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
PersistentClass
public PersistentClass()
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()
getIdentifier
public abstract KeyValue getIdentifier()
getVersion
public abstract Property getVersion()
getDiscriminator
public abstract Value getDiscriminator()
isInherited
public abstract boolean isInherited()
isPolymorphic
public abstract boolean isPolymorphic()
isVersioned
public abstract boolean isVersioned()
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)
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()
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()