Package org.hibernate.mapping
Class PersistentClass
- java.lang.Object
-
- org.hibernate.mapping.PersistentClass
-
- All Implemented Interfaces:
Serializable
,AttributeContainer
,Filterable
,MetaAttributable
public abstract class PersistentClass extends Object implements AttributeContainer, Serializable, Filterable, MetaAttributable
Mapping for an entity.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
NOT_NULL_DISCRIMINATOR_MAPPING
static String
NULL_DISCRIMINATOR_MAPPING
protected Set<String>
synchronizedTables
-
Constructor Summary
Constructors Constructor Description PersistentClass(MetadataBuildingContext metadataBuildingContext)
-
Method Summary
-
-
-
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
-
-
Constructor Detail
-
PersistentClass
public PersistentClass(MetadataBuildingContext metadataBuildingContext)
-
-
Method Detail
-
getServiceRegistry
public ServiceRegistry getServiceRegistry()
-
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)
- Specified by:
addProperty
in interfaceAttributeContainer
-
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()
-
isCached
public boolean isCached()
-
setCached
public void setCached(boolean cached)
-
isCachingExplicitlyRequested
@Deprecated public boolean isCachingExplicitlyRequested()
Deprecated.UseisCached
instead
-
setCachingExplicitlyRequested
@Deprecated public void setCachingExplicitlyRequested(boolean cached)
Deprecated.UsesetCached(boolean)
instead
-
getCacheConcurrencyStrategy
public abstract String getCacheConcurrencyStrategy()
-
getNaturalIdCacheRegionName
public abstract String getNaturalIdCacheRegionName()
-
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 may be referenced in association mappings.Includes properties defined in superclasses of the mapping inheritance. Includes all properties defined as part of a join.
- Returns:
- The referenceable 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 (e.g.@ManyToOne
,@OneToOne
).- 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
-
hasProperty
public boolean hasProperty(String name)
Check to see if this PersistentClass defines a property with the given name.- Parameters:
name
- The property name to check- Returns:
true
if a property with that name exists;false
if not
-
isPropertyDefinedInSuperHierarchy
public boolean isPropertyDefinedInSuperHierarchy(String name)
Check to see if a property with the given name exists in the super hierarchy of this PersistentClass. Does not check this PersistentClass, just up the hierarchy- Parameters:
name
- The property name to check- Returns:
true
if a property with that name exists;false
if not
-
isPropertyDefinedInHierarchy
public boolean isPropertyDefinedInHierarchy(String name)
Check to see if a property with the given name exists in this PersistentClass or in any of its super hierarchy. UnlikeisPropertyDefinedInSuperHierarchy(java.lang.String)
, this method does check this PersistentClass- Parameters:
name
- The property name to check- Returns:
true
if a property with that name exists;false
if not
-
getOptimisticLockMode
@Deprecated public int getOptimisticLockMode()
Deprecated.prefergetOptimisticLockStyle()
-
setOptimisticLockMode
@Deprecated public void setOptimisticLockMode(int optimisticLockMode)
Deprecated.
-
getOptimisticLockStyle
public OptimisticLockStyle getOptimisticLockStyle()
-
setOptimisticLockStyle
public void setOptimisticLockStyle(OptimisticLockStyle optimisticLockStyle)
-
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 interfaceMetaAttributable
-
setMetaAttributes
public void setMetaAttributes(Map metas)
- Specified by:
setMetaAttributes
in interfaceMetaAttributable
-
getMetaAttribute
public MetaAttribute getMetaAttribute(String name)
- Specified by:
getMetaAttribute
in interfaceMetaAttributable
-
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 fromgetUnjoinedPropertyIterator()
in that the returned iterator will include properties defined as part of a join. Differs fromgetReferenceablePropertyIterator()
in that the properties defined in superclasses of the mapping inheritance are not included.- 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 withgetPropertyIterator()
, the returned iterator only accounts for non-identifier properties.- Returns:
- An iterator over the non-joined "normal" properties.
-
setCustomSqlInsert
public void setCustomSqlInsert(CustomSql customSql)
-
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(CustomSql customSql)
-
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(CustomSql customSql)
-
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, boolean autoAliasInjection, Map<String,String> aliasTableMap, Map<String,String> aliasEntityMap)
- Specified by:
addFilter
in interfaceFilterable
-
getFilters
public List getFilters()
- Specified by:
getFilters
in interfaceFilterable
-
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)
-
getJpaEntityName
public String getJpaEntityName()
-
setJpaEntityName
public void setJpaEntityName(String jpaEntityName)
-
hasPojoRepresentation
public boolean hasPojoRepresentation()
-
hasSubselectLoadableCollections
public boolean hasSubselectLoadableCollections()
-
setSubselectLoadableCollections
public void setSubselectLoadableCollections(boolean hasSubselectCollections)
-
getIdentifierMapper
public Component getIdentifierMapper()
-
getDeclaredIdentifierMapper
public Component getDeclaredIdentifierMapper()
-
setDeclaredIdentifierMapper
public void setDeclaredIdentifierMapper(Component declaredIdentifierMapper)
-
hasIdentifierMapper
public boolean hasIdentifierMapper()
-
addCallbackDefinitions
public void addCallbackDefinitions(List<CallbackDefinition> callbackDefinitions)
-
getCallbackDefinitions
public List<CallbackDefinition> getCallbackDefinitions()
-
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()
-
getDeclaredPropertyIterator
public Iterator getDeclaredPropertyIterator()
-
addMappedsuperclassProperty
public void addMappedsuperclassProperty(Property p)
-
getSuperMappedSuperclass
public MappedSuperclass getSuperMappedSuperclass()
-
setSuperMappedSuperclass
public void setSuperMappedSuperclass(MappedSuperclass superMappedSuperclass)
-
-