Package org.hibernate.persister.entity
Class JoinedSubclassEntityPersister
- java.lang.Object
-
- org.hibernate.persister.entity.AbstractEntityPersister
-
- org.hibernate.persister.entity.JoinedSubclassEntityPersister
-
- All Implemented Interfaces:
LazyPropertyInitializer,PostInsertIdentityPersister,ClassMetadata,EntityPersister,Joinable,Loadable,Lockable,OuterJoinLoadable,PropertyMapping,Queryable,SQLLoadable,UniqueKeyLoadable,AttributeSource,EntityDefinition
public class JoinedSubclassEntityPersister extends AbstractEntityPersister
An EntityPersister implementing the normalized "table-per-subclass" mapping strategy
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.hibernate.persister.entity.AbstractEntityPersister
AbstractEntityPersister.CacheEntryHelper, AbstractEntityPersister.InclusionChecker
-
Nested classes/interfaces inherited from interface org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer
LazyPropertyInitializer.InterceptorImplementor
-
Nested classes/interfaces inherited from interface org.hibernate.persister.entity.Queryable
Queryable.Declarer
-
-
Field Summary
-
Fields inherited from class org.hibernate.persister.entity.AbstractEntityPersister
batchSize, customSQLDelete, customSQLInsert, customSQLUpdate, deleteCallable, deleteResultCheckStyles, ENTITY_CLASS, insertCallable, insertResultCheckStyles, propertyMapping, rowIdName, updateCallable, updateResultCheckStyles, VERSION_COLUMN_ALIAS
-
Fields inherited from interface org.hibernate.persister.entity.EntityPersister
ENTITY_ID
-
Fields inherited from interface org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer
UNFETCHED_PROPERTY
-
Fields inherited from interface org.hibernate.persister.entity.Loadable
ROWID_ALIAS
-
-
Constructor Summary
Constructors Constructor Description JoinedSubclassEntityPersister(PersistentClass persistentClass, EntityDataAccess cacheAccessStrategy, NaturalIdDataAccess naturalIdRegionAccessStrategy, PersisterCreationContext creationContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddDiscriminatorToInsert(Insert insert)voidaddDiscriminatorToSelect(SelectFragment select, String name, String suffix)booleancanOmitSuperclassTableJoin()If true, persister can omit superclass tables during joining if they are not needed in the query.intdetermineTableNumberForColumn(String columnName)protected StringfilterFragment(String alias)protected StringfilterFragment(String alias, Set<String> treatAsDeclarations)StringfromTableFragment(String alias)Get the main from table fragment, given a query alias.StringgenerateFilterConditionAlias(String rootAlias)The alias used for any filter conditions (mapped where-fragments or enabled-filters).String[]getConstraintOrderedTableNameClosure()Get the names of all tables used in the hierarchy (up and down) ordered such that deletes in the given order would not cause constraint violations.String[][]getContraintOrderedTableKeyColumnClosure()For each table specified inQueryable.getConstraintOrderedTableNameClosure(), get the columns that define the key between the various hierarchy classes.StringgetDiscriminatorAlias()StringgetDiscriminatorColumnName()StringgetDiscriminatorColumnReaders()StringgetDiscriminatorColumnReaderTemplate()StringgetDiscriminatorSQLValue()Get the discriminator value for this particular concrete subclass, as a string that may be embedded in a select statementTypegetDiscriminatorType()Get the discriminator typeObjectgetDiscriminatorValue()Get the discriminator valueorg.hibernate.internal.FilterAliasGeneratorgetFilterAliasGenerator(String rootAlias)String[]getIdentifierColumnNames()Get the names of columns used to persist the identifierString[]getIdentifierColumnReaders()String[]getIdentifierColumnReaderTemplates()String[]getKeyColumns(int j)Serializable[]getPropertySpaces()Returns an array of objects that identify spaces in which properties of this entity are persisted, for instances of this class only.StringgetPropertyTableName(String propertyName)Get the table name for the given property pathprotected int[]getPropertyTableNumbers()protected int[]getPropertyTableNumbersInSelect()StringgetRootTableAlias(String drivingAlias)Get the SQL alias this persister would use for the root table given the passed driving alias.StringgetRootTableName()Locks are always applied to the "root table".protected int[]getSubclassColumnTableNumberClosure()StringgetSubclassForDiscriminatorValue(Object value)Get the concrete subclass corresponding to the given discriminator valueprotected int[]getSubclassFormulaTableNumberClosure()Queryable.DeclarergetSubclassPropertyDeclarer(String propertyPath)Determine whether the given property is declared by our mapped class, our super class, or one of our subclasses...StringgetSubclassPropertyTableName(int i)Return the table name used to persist the numbered property of the class or a subclass.protected intgetSubclassPropertyTableNumber(int i)protected String[]getSubclassTableKeyColumns(int j)StringgetSubclassTableName(int j)Get the name of the table with the given index from the internal array.intgetSubclassTableSpan()StringgetTableName()The table to join to.StringgetTableName(int j)intgetTableSpan()protected booleanisClassOrSuperclassTable(int j)protected booleanisInverseSubclassTable(int j)booleanisInverseTable(int j)booleanisMultiTable()Is the inheritance hierarchy described by this persister contained across multiple tables?protected booleanisNullableSubclassTable(int j)booleanisNullableTable(int j)booleanisPropertyOfTable(int property, int j)protected booleanisSubclassTableIndicatedByTreatAsDeclarations(int subclassTableNumber, Set<String> treatAsDeclarations)protected booleanisSubclassTableLazy(int j)protected booleanisSubclassTableSequentialSelect(int j)booleanisTableCascadeDeleteEnabled(int j)String[]toColumns(String alias, String propertyName)Obtain aliased column/formula fragments for the specified property path.-
Methods inherited from class org.hibernate.persister.entity.AbstractEntityPersister
afterInitialize, afterReassociate, buildCacheEntry, buildCacheEntryHelper, buildMergeCascadeEntityLoader, buildRefreshCascadeEntityLoader, canExtractIdOutOfEntity, canReadFromCache, canUseReferenceCacheEntries, canWriteToCache, check, checkVersion, concretePropertySelectFragment, concretePropertySelectFragment, concretePropertySelectFragmentSansLeadingComma, consumesCollectionAlias, consumesEntityAlias, countSubclassProperties, createDelete, createEntityLoader, createEntityLoader, createEntityLoader, createFrom, createInsert, createJoin, createJoin, createJoin, createLoaders, createNaturalIdLoaders, createProxy, createQueryLoader, createSelect, createUniqueKeyLoader, createUniqueKeyLoaders, createUpdate, createWhereByKey, dehydrate, dehydrate, delete, delete, determinePkByNaturalIdQuery, determineSubclassTableJoinType, determineSubclassTableJoinType, determineTableName, determineValueNullness, doPostInstantiate, filterFragment, filterFragment, findDirty, findModified, forceVersionIncrement, fromJoinFragment, fromJoinFragment, fromJoinFragment, generateDeleteString, generateEntityDefinition, generateIdByUniqueKeySelectString, generateIdentityInsertString, generateInsertGeneratedValuesSelectString, generateInsertString, generateInsertString, generateInsertString, generateLazySelectStringsByFetchGroup, generateLocker, generateSelectVersionString, generateSnapshotSelectString, generateSQLDeleteStrings, generateTableAlias, generateUpdateGeneratedValuesSelectString, generateUpdateString, generateUpdateString, getAppropriateLoader, getAppropriateUniqueKeyLoader, getAttributes, getBytecodeEnhancementMetadata, getCacheAccessStrategy, getCacheEntryStructure, getCascadeStyle, getClassMetadata, getCollectionKey, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getDeleteResultCheckStyles, getDiscriminatorAlias, getDiscriminatorFormulaTemplate, getEntityEntryFactory, getEntityKeyDefinition, getEntityMetamodel, getEntityMode, getEntityName, getEntityPersister, getEntityTuplizer, getEntityType, getFactory, getFetchMode, getIdByUniqueKey, getIdentifier, getIdentifier, getIdentifierAliases, getIdentifierAliases, getIdentifierColumnSpan, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getIdentityDelegate, getIdentitySelectString, getInsertResultCheckStyles, getInstrumentationMetadata, getKeyColumnNames, getLazyPropertyColumnAliases, getLazyPropertyNames, getLazyPropertyNumbers, getLazyPropertyTypes, getLoaderByLockMode, getMappedClass, getMappedSuperclass, getName, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNavigableRole, getNonLazyPropertyUpdateability, getPolymorphicJoinColumns, getPropertiesToInsert, getPropertiesToUpdate, getPropertyAliases, getPropertyCascadeStyles, getPropertyCheckability, getPropertyColumnInsertable, getPropertyColumnNames, getPropertyColumnNames, getPropertyColumnSpan, getPropertyColumnUpdateable, getPropertyColumnWriters, getPropertyIndex, getPropertyInsertability, getPropertyInsertGenerationInclusions, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySelectable, getPropertySpan, getPropertySubclassNames, getPropertyType, getPropertyTypes, getPropertyUniqueness, getPropertyUpdateability, getPropertyUpdateability, getPropertyUpdateGenerationInclusions, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRootEntityName, getRootTableIdentifierColumnNames, getRootTableKeyColumnNames, getSelectByUniqueKeyString, getSequentialSelect, getSQLDeleteStrings, getSQLIdentityInsertString, getSQLInsertStrings, getSQLLazySelectString, getSQLLazyUpdateByRowIdStrings, getSQLLazyUpdateStrings, getSQLSnapshotSelectString, getSQLUpdateByRowIdStrings, getSQLUpdateStrings, getSQLWhereString, getSubclassColumnAliasClosure, getSubclassColumnClosure, getSubclassColumnLazyiness, getSubclassColumnReaderTemplateClosure, getSubclassEntityPersister, getSubclassFormulaAliasClosure, getSubclassFormulaClosure, getSubclassFormulaLazyiness, getSubclassFormulaTemplateClosure, getSubclassPropertyColumnAliases, getSubclassPropertyColumnNameClosure, getSubclassPropertyColumnNames, getSubclassPropertyColumnNames, getSubclassPropertyColumnReaderClosure, getSubclassPropertyColumnReaderTemplateClosure, getSubclassPropertyFormulaTemplateClosure, getSubclassPropertyName, getSubclassPropertyNameClosure, getSubclassPropertySubclassNameClosure, getSubclassPropertyTableNumber, getSubclassPropertyType, getSubclassPropertyTypeClosure, getTableAliasForColumn, getTableId, getTableNames, getTableUpdateNeeded, getTemplateFromString, getType, getTypeDiscriminatorMetadata, getUpdateResultCheckStyles, getUpdateStrings, getVersion, getVersionColumnName, getVersionComparator, getVersionedTableName, getVersionProperty, getVersionSelectString, getVersionType, hasCache, hasCascades, hasCollections, hasEmbeddedCompositeIdentifier, hasFormulaProperties, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasProxy, hasRowId, hasSequentialSelect, hasSubclasses, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, hasWhere, hydrate, identifierSelectFragment, implementsLifecycle, initializeEnhancedEntityUsedAsProxy, initializeLazyPropertiesFromCache, initializeLazyPropertiesFromDatastore, initializeLazyProperty, initializeLazyProperty, initPropertyPaths, initSubclassPropertyAliasesMap, insert, insert, insert, insert, instantiate, isAbstract, isAllNull, isAllOrDirtyOptLocking, isBatchable, isBatchLoadable, isCacheInvalidationRequired, isClassOrSuperclassJoin, isCollection, isDefinedOnSubclass, isDeleteCallable, isExplicitPolymorphism, isIdentifierAssignedByInsert, isInherited, isInsertCallable, isInstance, isInstrumented, isLazyPropertiesCacheable, isModifiableEntity, isMutable, isNaturalIdNonNullable, isPolymorphic, isSelectBeforeUpdateRequired, isSubclassEntityName, isSubclassPropertyDeferred, isSubclassPropertyNullable, isTransient, isUpdateCallable, isValueGenerationRequired, isVersioned, isVersionPropertyGenerated, isVersionPropertyInsertable, load, load, load, loadByNaturalId, loadByUniqueKey, loadEntityIdByNaturalId, lock, lock, logStaticSQL, multiLoad, oneToManyFilterFragment, oneToManyFilterFragment, optimisticLockStyle, postConstruct, postInstantiate, preInsertInMemoryValueGeneration, processInsertGeneratedProperties, processUpdateGeneratedProperties, propertySelectFragment, propertySelectFragmentFragment, registerAffectingFetchProfile, renderSelect, resetIdentifier, resolveAttributeIndexes, resolveDirtyAttributeIndexes, selectFragment, selectFragment, setIdentifier, setPropertyValue, setPropertyValue, setPropertyValues, toColumns, toColumns, toString, toType, update, update, updateOrInsert, useDynamicInsert, useDynamicUpdate, useGetGeneratedKeys, useInsertSelectIdentity, whereJoinFragment, whereJoinFragment
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.metadata.ClassMetadata
getIdentifier, getPropertyValuesToInsert, instantiate, setIdentifier
-
Methods inherited from interface org.hibernate.persister.entity.EntityPersister
canIdentityInsertBeDelayed, load
-
-
-
-
Constructor Detail
-
JoinedSubclassEntityPersister
public JoinedSubclassEntityPersister(PersistentClass persistentClass, EntityDataAccess cacheAccessStrategy, NaturalIdDataAccess naturalIdRegionAccessStrategy, PersisterCreationContext creationContext) throws HibernateException
- Throws:
HibernateException
-
-
Method Detail
-
isNullableTable
public boolean isNullableTable(int j)
- Overrides:
isNullableTablein classAbstractEntityPersister
-
isInverseTable
public boolean isInverseTable(int j)
- Overrides:
isInverseTablein classAbstractEntityPersister
-
isSubclassTableSequentialSelect
protected boolean isSubclassTableSequentialSelect(int j)
- Overrides:
isSubclassTableSequentialSelectin classAbstractEntityPersister
-
getSubclassPropertyTableName
public String getSubclassPropertyTableName(int i)
Description copied from interface:OuterJoinLoadableReturn the table name used to persist the numbered property of the class or a subclass.
-
isInverseSubclassTable
protected boolean isInverseSubclassTable(int j)
- Overrides:
isInverseSubclassTablein classAbstractEntityPersister
-
isNullableSubclassTable
protected boolean isNullableSubclassTable(int j)
- Overrides:
isNullableSubclassTablein classAbstractEntityPersister
-
getDiscriminatorType
public Type getDiscriminatorType()
Description copied from interface:LoadableGet the discriminator type
-
getDiscriminatorValue
public Object getDiscriminatorValue()
Description copied from interface:LoadableGet the discriminator value
-
getDiscriminatorSQLValue
public String getDiscriminatorSQLValue()
Description copied from interface:QueryableGet the discriminator value for this particular concrete subclass, as a string that may be embedded in a select statement
-
getDiscriminatorColumnName
public String getDiscriminatorColumnName()
- Specified by:
getDiscriminatorColumnNamein interfaceLoadable- Overrides:
getDiscriminatorColumnNamein classAbstractEntityPersister- Returns:
- the column name for the discriminator as specified in the mapping.
-
getDiscriminatorColumnReaders
public String getDiscriminatorColumnReaders()
- Overrides:
getDiscriminatorColumnReadersin classAbstractEntityPersister
-
getDiscriminatorColumnReaderTemplate
public String getDiscriminatorColumnReaderTemplate()
- Overrides:
getDiscriminatorColumnReaderTemplatein classAbstractEntityPersister
-
getDiscriminatorAlias
public String getDiscriminatorAlias()
- Overrides:
getDiscriminatorAliasin classAbstractEntityPersister
-
getSubclassForDiscriminatorValue
public String getSubclassForDiscriminatorValue(Object value)
Description copied from interface:LoadableGet the concrete subclass corresponding to the given discriminator value
-
addDiscriminatorToInsert
protected void addDiscriminatorToInsert(Insert insert)
- Overrides:
addDiscriminatorToInsertin classAbstractEntityPersister
-
getPropertySpaces
public Serializable[] getPropertySpaces()
Description copied from interface:EntityPersisterReturns an array of objects that identify spaces in which properties of this entity are persisted, for instances of this class only. For most implementations, this returns the complete set of table names to which instances of the mapped entity are persisted (not accounting for superclass entity mappings).- Returns:
- The property spaces.
-
getTableName
public String getTableName(int j)
- Specified by:
getTableNamein classAbstractEntityPersister
-
getKeyColumns
public String[] getKeyColumns(int j)
- Specified by:
getKeyColumnsin classAbstractEntityPersister
-
isTableCascadeDeleteEnabled
public boolean isTableCascadeDeleteEnabled(int j)
- Specified by:
isTableCascadeDeleteEnabledin classAbstractEntityPersister
-
isPropertyOfTable
public boolean isPropertyOfTable(int property, int j)- Specified by:
isPropertyOfTablein classAbstractEntityPersister
-
fromTableFragment
public String fromTableFragment(String alias)
Description copied from interface:OuterJoinLoadableGet the main from table fragment, given a query alias.
-
getTableName
public String getTableName()
Description copied from interface:JoinableThe table to join to.
-
addDiscriminatorToSelect
public void addDiscriminatorToSelect(SelectFragment select, String name, String suffix)
- Overrides:
addDiscriminatorToSelectin classAbstractEntityPersister
-
filterFragment
protected String filterFragment(String alias)
- Specified by:
filterFragmentin classAbstractEntityPersister
-
filterFragment
protected String filterFragment(String alias, Set<String> treatAsDeclarations)
- Specified by:
filterFragmentin classAbstractEntityPersister
-
generateFilterConditionAlias
public String generateFilterConditionAlias(String rootAlias)
Description copied from interface:QueryableThe alias used for any filter conditions (mapped where-fragments or enabled-filters). This may or may not be different from the root alias depending upon the inheritance mapping strategy.- Specified by:
generateFilterConditionAliasin interfaceQueryable- Overrides:
generateFilterConditionAliasin classAbstractEntityPersister- Parameters:
rootAlias- The root alias- Returns:
- The alias used for "filter conditions" within the where clause.
-
getIdentifierColumnNames
public String[] getIdentifierColumnNames()
Description copied from interface:LoadableGet the names of columns used to persist the identifier- Specified by:
getIdentifierColumnNamesin interfaceLoadable- Specified by:
getIdentifierColumnNamesin interfacePostInsertIdentityPersister- Specified by:
getIdentifierColumnNamesin interfaceQueryable- Overrides:
getIdentifierColumnNamesin classAbstractEntityPersister
-
getIdentifierColumnReaderTemplates
public String[] getIdentifierColumnReaderTemplates()
- Overrides:
getIdentifierColumnReaderTemplatesin classAbstractEntityPersister
-
getIdentifierColumnReaders
public String[] getIdentifierColumnReaders()
- Overrides:
getIdentifierColumnReadersin classAbstractEntityPersister
-
toColumns
public String[] toColumns(String alias, String propertyName) throws QueryException
Description copied from class:AbstractEntityPersisterObtain aliased column/formula fragments for the specified property path. Warning: When there are duplicated property names in the subclasses then this method may return the wrong results. To ensure correct results, this method should only be used when this is the concrete EntityPersister (since the concrete EntityPersister cannot have duplicated property names).- Specified by:
toColumnsin interfacePropertyMapping- Overrides:
toColumnsin classAbstractEntityPersister- Throws:
QueryException
-
getPropertyTableNumbersInSelect
protected int[] getPropertyTableNumbersInSelect()
- Specified by:
getPropertyTableNumbersInSelectin classAbstractEntityPersister
-
getSubclassPropertyTableNumber
protected int getSubclassPropertyTableNumber(int i)
- Specified by:
getSubclassPropertyTableNumberin classAbstractEntityPersister
-
getTableSpan
public int getTableSpan()
- Specified by:
getTableSpanin classAbstractEntityPersister
-
isMultiTable
public boolean isMultiTable()
Description copied from interface:QueryableIs the inheritance hierarchy described by this persister contained across multiple tables?- Specified by:
isMultiTablein interfaceQueryable- Overrides:
isMultiTablein classAbstractEntityPersister- Returns:
- True if the inheritance hierarchy is spread across multiple tables; false otherwise.
-
getSubclassColumnTableNumberClosure
protected int[] getSubclassColumnTableNumberClosure()
- Specified by:
getSubclassColumnTableNumberClosurein classAbstractEntityPersister
-
getSubclassFormulaTableNumberClosure
protected int[] getSubclassFormulaTableNumberClosure()
- Specified by:
getSubclassFormulaTableNumberClosurein classAbstractEntityPersister
-
getPropertyTableNumbers
protected int[] getPropertyTableNumbers()
- Specified by:
getPropertyTableNumbersin classAbstractEntityPersister
-
getSubclassTableKeyColumns
protected String[] getSubclassTableKeyColumns(int j)
- Specified by:
getSubclassTableKeyColumnsin classAbstractEntityPersister
-
getSubclassTableName
public String getSubclassTableName(int j)
Description copied from interface:QueryableGet the name of the table with the given index from the internal array.- Specified by:
getSubclassTableNamein interfaceQueryable- Specified by:
getSubclassTableNamein classAbstractEntityPersister- Parameters:
j- The index into the internal array.
-
getSubclassTableSpan
public int getSubclassTableSpan()
- Specified by:
getSubclassTableSpanin classAbstractEntityPersister
-
isSubclassTableLazy
protected boolean isSubclassTableLazy(int j)
- Overrides:
isSubclassTableLazyin classAbstractEntityPersister
-
isClassOrSuperclassTable
protected boolean isClassOrSuperclassTable(int j)
- Specified by:
isClassOrSuperclassTablein classAbstractEntityPersister
-
isSubclassTableIndicatedByTreatAsDeclarations
protected boolean isSubclassTableIndicatedByTreatAsDeclarations(int subclassTableNumber, Set<String> treatAsDeclarations)- Overrides:
isSubclassTableIndicatedByTreatAsDeclarationsin classAbstractEntityPersister
-
getPropertyTableName
public String getPropertyTableName(String propertyName)
Description copied from interface:OuterJoinLoadableGet the table name for the given property path
-
getConstraintOrderedTableNameClosure
public String[] getConstraintOrderedTableNameClosure()
Description copied from interface:QueryableGet the names of all tables used in the hierarchy (up and down) ordered such that deletes in the given order would not cause constraint violations.- Returns:
- The ordered array of table names.
-
getContraintOrderedTableKeyColumnClosure
public String[][] getContraintOrderedTableKeyColumnClosure()
Description copied from interface:QueryableFor each table specified inQueryable.getConstraintOrderedTableNameClosure(), get the columns that define the key between the various hierarchy classes. The first dimension here corresponds to the table indexes returned inQueryable.getConstraintOrderedTableNameClosure(). The second dimension should have the same length across all the elements in the first dimension. If not, that would be a problem ;)
-
getRootTableName
public String getRootTableName()
Description copied from interface:LockableLocks are always applied to the "root table".- Specified by:
getRootTableNamein interfaceLockable- Overrides:
getRootTableNamein classAbstractEntityPersister- Returns:
- The root table name
-
getRootTableAlias
public String getRootTableAlias(String drivingAlias)
Description copied from interface:LockableGet the SQL alias this persister would use for the root table given the passed driving alias.- Specified by:
getRootTableAliasin interfaceLockable- Overrides:
getRootTableAliasin classAbstractEntityPersister- Parameters:
drivingAlias- The driving alias; or the alias for the table mapped by this persister in the hierarchy.- Returns:
- The root table alias.
-
getSubclassPropertyDeclarer
public Queryable.Declarer getSubclassPropertyDeclarer(String propertyPath)
Description copied from interface:QueryableDetermine whether the given property is declared by our mapped class, our super class, or one of our subclasses... Note: the method is called 'subclass property...' simply for consistency sake (e.g.Queryable.getSubclassPropertyTableNumber(java.lang.String)- Specified by:
getSubclassPropertyDeclarerin interfaceQueryable- Overrides:
getSubclassPropertyDeclarerin classAbstractEntityPersister- Parameters:
propertyPath- The property name.- Returns:
- The property declarer
-
determineTableNumberForColumn
public int determineTableNumberForColumn(String columnName)
- Overrides:
determineTableNumberForColumnin classAbstractEntityPersister
-
getFilterAliasGenerator
public org.hibernate.internal.FilterAliasGenerator getFilterAliasGenerator(String rootAlias)
-
canOmitSuperclassTableJoin
public boolean canOmitSuperclassTableJoin()
Description copied from class:AbstractEntityPersisterIf true, persister can omit superclass tables during joining if they are not needed in the query.- Overrides:
canOmitSuperclassTableJoinin classAbstractEntityPersister- Returns:
- true if the persister can do it
-
-