Class PersistentClass

    • Field Detail

      • NULL_DISCRIMINATOR_MAPPING

        public static final String NULL_DISCRIMINATOR_MAPPING
        The magic value of DiscriminatorValue.value() which indicates that the subclass is distinguished by a null value of the discriminator column.
        See Also:
        Constant Field Values
      • NOT_NULL_DISCRIMINATOR_MAPPING

        public static final String NOT_NULL_DISCRIMINATOR_MAPPING
        The magic value of DiscriminatorValue.value() which indicates that the subclass is distinguished by any non-null value of the discriminator column.
        See Also:
        Constant Field Values
      • synchronizedTables

        protected final Set<String> synchronizedTables
    • Method Detail

      • getClassName

        public String getClassName()
      • setClassName

        public void setClassName​(String className)
      • getProxyInterfaceName

        public String getProxyInterfaceName()
      • setProxyInterfaceName

        public void setProxyInterfaceName​(String proxyInterfaceName)
      • 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()
      • hasSubclasses

        public boolean hasSubclasses()
      • getSubclassSpan

        public int getSubclassSpan()
      • getSubclasses

        public List<Subclass> getSubclasses()
        Get the subclasses in a special 'order', most derived subclasses first.
      • getIdentityTable

        public Table getIdentityTable()
      • getDirectSubclasses

        public List<Subclass> getDirectSubclasses()
      • 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.
        Use isCached instead
      • setCachingExplicitlyRequested

        @Deprecated
        public void setCachingExplicitlyRequested​(boolean cached)
        Deprecated.
        Use setCached(boolean) instead
      • getCacheConcurrencyStrategy

        public abstract String getCacheConcurrencyStrategy()
      • getNaturalIdCacheRegionName

        public abstract String getNaturalIdCacheRegionName()
      • isExplicitPolymorphism

        public abstract boolean isExplicitPolymorphism()
      • isDiscriminatorInsertable

        public abstract boolean isDiscriminatorInsertable()
      • getPropertyClosure

        public abstract List<Property> getPropertyClosure()
      • getTableClosure

        public abstract List<Table> getTableClosure()
      • getKeyClosure

        public abstract List<KeyValue> getKeyClosure()
      • addSubclassProperty

        protected void addSubclassProperty​(Property prop)
      • addSubclassJoin

        protected void addSubclassJoin​(Join join)
      • addSubclassTable

        protected void addSubclassTable​(Table subclassTable)
      • getSubclassPropertyClosure

        public List<Property> getSubclassPropertyClosure()
      • getSubclassJoinClosure

        public List<Join> getSubclassJoinClosure()
      • getSubclassTableClosure

        public List<Table> getSubclassTableClosure()
      • 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<? extends EntityPersister> getEntityPersisterClass()
      • setEntityPersisterClass

        public abstract void setEntityPersisterClass​(Class<? extends EntityPersister> 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)
      • getReferenceableProperties

        public List<Property> getReferenceableProperties()
        Build a list 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.
      • 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. Unlike isPropertyDefinedInSuperHierarchy(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
      • setOptimisticLockStyle

        public void setOptimisticLockStyle​(OptimisticLockStyle optimisticLockStyle)
      • isDiscriminatorValueNotNull

        public boolean isDiscriminatorValueNotNull()
      • isDiscriminatorValueNull

        public boolean isDiscriminatorValueNull()
      • getJoins

        public List<Join> getJoins()
      • getJoinClosure

        public List<Join> getJoinClosure()
      • addJoin

        public void addJoin​(Join join)
      • getJoinClosureSpan

        public int getJoinClosureSpan()
      • getPropertyClosureSpan

        public int getPropertyClosureSpan()
      • getJoinNumber

        public int getJoinNumber​(Property prop)
      • getPropertyIterator

        @Deprecated(since="6.0")
        public Iterator<Property> getPropertyIterator()
        Deprecated.
        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 returned iterator will include properties defined as part of a join.

        Differs from getReferenceablePropertyIterator() in that the properties defined in superclasses of the mapping inheritance are not included.

        Returns:
        An iterator over the "normal" properties.
      • getProperties

        public List<Property> getProperties()
        Build a list of the properties defined on this class. The returned iterator only accounts for "normal" properties (i.e. non-identifier properties).

        Differs from getUnjoinedProperties() in that the returned iterator will include properties defined as part of a join.

        Differs from getReferenceableProperties() in that the properties defined in superclasses of the mapping inheritance are not included.

        Returns:
        An iterator over the "normal" properties.
      • getUnjoinedPropertyIterator

        @Deprecated(since="6.0")
        public Iterator<Property> getUnjoinedPropertyIterator()
        Deprecated.
        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.
      • getUnjoinedProperties

        public List<Property> getUnjoinedProperties()
        Get a list of the properties defined on this class which are not defined as part of a join. As with getProperties(), the returned iterator only accounts for non-identifier properties.
        Returns:
        An iterator over the non-joined "normal" properties.
      • setCustomSqlInsert

        public void setCustomSqlInsert​(CustomSql customSql)
      • getCustomSQLInsert

        public String getCustomSQLInsert()
      • isCustomInsertCallable

        public boolean isCustomInsertCallable()
      • setCustomSqlUpdate

        public void setCustomSqlUpdate​(CustomSql customSql)
      • getCustomSQLUpdate

        public String getCustomSQLUpdate()
      • isCustomUpdateCallable

        public boolean isCustomUpdateCallable()
      • setCustomSqlDelete

        public void setCustomSqlDelete​(CustomSql customSql)
      • getCustomSQLDelete

        public String getCustomSQLDelete()
      • isCustomDeleteCallable

        public boolean isCustomDeleteCallable()
      • isForceDiscriminator

        public boolean isForceDiscriminator()
      • isJoinedSubclass

        public abstract boolean isJoinedSubclass()
      • getLoaderName

        public String getLoaderName()
      • setLoaderName

        public void setLoaderName​(String loaderName)
      • getSynchronizedTables

        public abstract Set<String> getSynchronizedTables()
      • addSynchronizedTable

        public void addSynchronizedTable​(String table)
      • isAbstract

        public Boolean isAbstract()
      • setAbstract

        public void setAbstract​(Boolean isAbstract)
      • getNonDuplicatedProperties

        protected List<Property> getNonDuplicatedProperties()
      • checkColumnDuplication

        protected void checkColumnDuplication()
      • getJpaEntityName

        public String getJpaEntityName()
      • setJpaEntityName

        public void setJpaEntityName​(String jpaEntityName)
      • hasPojoRepresentation

        public boolean hasPojoRepresentation()
      • hasSubselectLoadableCollections

        public boolean hasSubselectLoadableCollections()
      • setSubselectLoadableCollections

        public void setSubselectLoadableCollections​(boolean hasSubselectCollections)
      • hasPartitionedSelectionMapping

        public boolean hasPartitionedSelectionMapping()
      • 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)
      • setIdentifierMapper

        public void setIdentifierMapper​(Component handle)
      • hasNaturalId

        public boolean hasNaturalId()
      • getDeclaredProperties

        public List<Property> getDeclaredProperties()
      • addMappedSuperclassProperty

        public void addMappedSuperclassProperty​(Property p)
      • setSuperMappedSuperclass

        public void setSuperMappedSuperclass​(MappedSuperclass superMappedSuperclass)
      • prepareForMappingModel

        public void prepareForMappingModel()