Class AbstractCollectionPersister
java.lang.Object
org.hibernate.persister.collection.AbstractCollectionPersister
- All Implemented Interfaces:
FetchProfileAffectee
,FilterRestrictable
,InFlightCollectionMapping
,PluralAttributeMappingImpl.Aware
,Restrictable
,WhereRestrictable
,CollectionPersister
,CollectionMutationTarget
,Joinable
,MutationTarget<CollectionTableMapping>
- Direct Known Subclasses:
BasicCollectionPersister
,OneToManyPersister
@Internal
public abstract class AbstractCollectionPersister
extends Object
implements CollectionPersister, InFlightCollectionMapping, CollectionMutationTarget, PluralAttributeMappingImpl.Aware, FetchProfileAffectee, Joinable
Base implementation of the
QueryableCollection
interface.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final int
protected final String[]
Deprecated.protected final boolean[]
protected final boolean[]
protected final String[]
protected final String[]
protected final String[]
protected final String[]
protected final String[]
protected final String[]
protected final boolean
protected final Type
Deprecated.protected boolean
protected final String
protected final String[]
Deprecated.protected final boolean[]
protected final boolean[]
protected final String[]
protected final boolean
protected final String[]
protected final String[]
protected final boolean
protected final String[]
Deprecated.protected final String[]
protected final String
protected final SqlExceptionHelper
protected String
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractCollectionPersister
(Collection collectionBootDescriptor, @Nullable CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyBaseManyToManyRestrictions
(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) void
applyBaseRestrictions
(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Applies the base set of restrictions.void
applyBaseRestrictions
(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Applies the base set of restrictions.void
applyFilterRestrictions
(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, SqlAstCreationState creationState) Applies just theFilter
values enabled for the associated entityprotected void
applyKeyRestrictions
(MutatingTableReference tableReference, ColumnValueParameterList parameterList, List<ColumnValueBinding> restrictionBindings) protected void
applyWhereFragments
(Consumer<Predicate> predicateConsumer, String alias, TableGroup tableGroup, SqlAstCreationState astCreationState) void
applyWhereRestrictions
(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, SqlAstCreationState creationState) Apply theSQLRestriction
restrictionsprotected JdbcMutationOperation
buildDeleteAllOperation
(MutatingTableReference tableReference) protected CollectionLoader
createNamedQueryCollectionLoader
(CollectionPersister persister, NamedQueryMemento<?> namedQueryMemento) For Hibernate Reactiveprotected CollectionLoader
createSingleKeyCollectionLoader
(LoadQueryInfluencers loadQueryInfluencers) For Hibernate Reactiveprotected CollectionLoader
createSubSelectLoader
(SubselectFetch subselect, SharedSessionContractImplementor session) protected CollectionLoader
determineLoaderToUse
(Object key, SharedSessionContractImplementor session) protected String
determineTableName
(Table table) protected abstract void
doProcessQueuedOps
(PersistentCollection<?> collection, Object key, SharedSessionContractImplementor session) boolean
elementExists
(Object key, Object element, SharedSessionContractImplementor session) void
forEachMutableTable
(Consumer<CollectionTableMapping> consumer) Visit each table.void
Same asMutationTarget.forEachMutableTable(java.util.function.Consumer<T>)
except that here the tables are visited in reverse ordergenerateDeleteAllAst
(MutatingTableReference tableReference) protected String
protected String
protected String
generateSelectSizeString
(boolean isIntegerIndexed) int
Access to the collection's cache regionGet the structure used to store data into the collection's cache regionString[]
getCollectionPropertyColumnAliases
(String propertyName, String suffix) CollectionSemantics<?,
?> String[]
Get the "space" that holds the persistent stateGet the associatedType
protected Dialect
getElementByIndex
(Object key, Object index, SharedSessionContractImplementor session, Object owner) Class<?>
Return the element class of an array, or null otherwise.String[]
getElementColumnAliases
(String suffix) Generates the collection's element column aliases, based on the given suffix.String[]
Get the persister of the element class, if this is a collection of entities (optional operation).protected EntityPersister
Get the "element" typeabstract FilterAliasGenerator
getFilterAliasGenerator
(String rootAlias) abstract FilterAliasGenerator
getFilterAliasGenerator
(TableGroup tableGroup) Get the surrogate key generation strategy (optional operation)getIdentifierColumnAlias
(String suffix) Generates the collection's identifier column aliases, based on the given suffix.Deprecated.The name of the table defining the identifier for this targetGet the type of the surrogate keyString[]
getIndexColumnAliases
(String suffix) Generates the collection's index column aliases, based on the given suffix.String[]
Get the "index" type for a list or map (optional operation)String[]
getKeyColumnAliases
(String suffix) Generates the collection's key column aliases, based on the given suffix.String[]
Get the "key" type (the type of the foreign key)getManyToManyFilterFragment
(TableGroup tableGroup, Map<String, Filter> enabledFilters) The NavigableRole for this collection.Get the persister of the entity that "owns" this collectionprotected abstract RemoveCoordinator
protected abstract RowMutationOperations
int
getSize
(Object key, SharedSessionContractImplementor session) Comparator<?>
For sorted collections, the comparator to use.protected SqlExceptionHelper
The ModelPart describing the mutation targetboolean
hasCache()
Is this collection role cacheableboolean
hasIndex()
Is this an "indexed" collection? (list or map)boolean
boolean
Is this an ordered collection? (An ordered collection is ordered by the initialization operation, not by sorting that happens in memory, as in the case of a sorted collection.)boolean
Does this collection implement "orphan delete"?boolean
Whether the collection has at least one physical index columnboolean
Does this restrictable have a where restriction?protected Object
incrementIndexByBase
(Object index) boolean
indexExists
(Object key, Object index, SharedSessionContractImplementor session) void
void
initialize
(Object key, SharedSessionContractImplementor session) Initialize the given collection with the given keyvoid
injectAttributeMapping
(PluralAttributeMapping attributeMapping) Allows injection of the corresponding plural-attribute mapping.boolean
isAffectedByEnabledFetchProfiles
(LoadQueryInfluencers influencers) boolean
isAffectedByEnabledFilters
(Set<ManagedMappingType> visitedTypes, LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) boolean
isAffectedByEnabledFilters
(LoadQueryInfluencers influencers) boolean
isAffectedByEnabledFilters
(LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) boolean
boolean
isAffectedByEntityGraph
(LoadQueryInfluencers influencers) boolean
isArray()
Is this an array?boolean
Is cascade delete handled by the database-level foreign key constraint definition?boolean
boolean
Is this collection "inverse", so state changes are not propagated to the database.boolean
isLazy()
Is this collection lazily initialized?abstract boolean
Is this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not contain all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones.boolean
Can the elements of this collection change?boolean
Is this an array of primitive values?protected boolean
protected boolean
boolean
boolean
Does this collection cause version increment of the owning entity?protected void
boolean
WhetherCollectionPersister.remove(Object, SharedSessionContractImplementor)
might actually do something, or if it is definitely a no-op.void
void
prepareMappingModel
(MappingModelCreationProcess creationProcess) After all hierarchy types have been linked, this method is called to allow the mapping model to be prepared which generally includes creating attribute mapping descriptors, identifier mapping descriptor, etc.void
processQueuedOps
(PersistentCollection<?> collection, Object key, SharedSessionContractImplementor session) Process queued operations within the PersistentCollection.void
registerAffectingFetchProfile
(String fetchProfileName) Register the profile name with the entity/collectionvoid
remove
(Object id, SharedSessionContractImplementor session) Completely remove the persistent state of the collectionselectFragment
(String alias, String columnSuffix) Generate a list of collection index, key and element columnstoString()
boolean
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.hibernate.persister.collection.mutation.CollectionMutationTarget
getIdentifierTableMapping
Methods inherited from interface org.hibernate.persister.collection.CollectionPersister
deleteRows, getRole, insertRows, isBatchLoadable, isOneToMany, recreate, updateRows
Methods inherited from interface org.hibernate.metamodel.mapping.FilterRestrictable
applyFilterRestrictions
Methods inherited from interface org.hibernate.sql.model.MutationTarget
getRolePath
-
Field Details
-
qualifiedTableName
-
hasWhere
protected boolean hasWhere -
sqlWhereString
-
indexContainsFormula
protected final boolean indexContainsFormula -
elementIsPureFormula
protected final boolean elementIsPureFormula -
keyColumnNames
-
indexColumnNames
-
indexFormulaTemplates
-
indexFormulas
-
indexColumnIsGettable
protected final boolean[] indexColumnIsGettable -
indexColumnIsSettable
protected final boolean[] indexColumnIsSettable -
elementColumnNames
-
elementColumnWriters
-
elementColumnReaders
-
elementColumnReaderTemplates
-
elementFormulaTemplates
-
elementFormulas
-
elementColumnIsGettable
protected final boolean[] elementColumnIsGettable -
elementColumnIsSettable
protected final boolean[] elementColumnIsSettable -
identifierColumnName
-
isInverse
protected final boolean isInverse -
batchSize
protected final int batchSize -
sqlExceptionHelper
-
elementType
Deprecated. -
keyColumnAliases
Deprecated. -
indexColumnAliases
Deprecated. -
elementColumnAliases
Deprecated.
-
-
Constructor Details
-
AbstractCollectionPersister
public AbstractCollectionPersister(Collection collectionBootDescriptor, @Nullable CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) throws MappingException, CacheException - Throws:
MappingException
CacheException
-
-
Method Details
-
prepareMappingModel
Description copied from interface:InFlightCollectionMapping
After all hierarchy types have been linked, this method is called to allow the mapping model to be prepared which generally includes creating attribute mapping descriptors, identifier mapping descriptor, etc.- Specified by:
prepareMappingModel
in interfaceInFlightCollectionMapping
-
getSortingComparator
Description copied from interface:CollectionPersister
For sorted collections, the comparator to use. Non-parameterized because for SORTED_SET the elements are compared but for SORTED_MAP the keys are compared- Specified by:
getSortingComparator
in interfaceCollectionPersister
- See Also:
-
determineTableName
-
postInstantiate
- Specified by:
postInstantiate
in interfaceCollectionPersister
- Throws:
MappingException
-
logStaticSQL
protected void logStaticSQL() -
getCollectionLoader
-
createNamedQueryCollectionLoader
protected CollectionLoader createNamedQueryCollectionLoader(CollectionPersister persister, NamedQueryMemento<?> namedQueryMemento) For Hibernate Reactive -
createSingleKeyCollectionLoader
protected CollectionLoader createSingleKeyCollectionLoader(LoadQueryInfluencers loadQueryInfluencers) For Hibernate Reactive -
getCacheAccessStrategy
Description copied from interface:CollectionPersister
Access to the collection's cache region- Specified by:
getCacheAccessStrategy
in interfaceCollectionPersister
-
hasCache
public boolean hasCache()Description copied from interface:CollectionPersister
Is this collection role cacheable- Specified by:
hasCache
in interfaceCollectionPersister
-
useShallowQueryCacheLayout
public boolean useShallowQueryCacheLayout()- Specified by:
useShallowQueryCacheLayout
in interfaceCollectionPersister
-
getRowMutationOperations
-
getRemoveCoordinator
-
hasOrdering
public boolean hasOrdering()Description copied from interface:CollectionPersister
Is this an ordered collection? (An ordered collection is ordered by the initialization operation, not by sorting that happens in memory, as in the case of a sorted collection.)- Specified by:
hasOrdering
in interfaceCollectionPersister
-
hasManyToManyOrdering
public boolean hasManyToManyOrdering()- Specified by:
hasManyToManyOrdering
in interfaceCollectionPersister
-
getElementClass
Return the element class of an array, or null otherwise. needed by arrays- Specified by:
getElementClass
in interfaceCollectionPersister
-
incrementIndexByBase
-
isPrimitiveArray
public boolean isPrimitiveArray()Description copied from interface:CollectionPersister
Is this an array of primitive values?- Specified by:
isPrimitiveArray
in interfaceCollectionPersister
-
isArray
public boolean isArray()Description copied from interface:CollectionPersister
Is this an array?- Specified by:
isArray
in interfaceCollectionPersister
-
getIdentifierColumnName
- Specified by:
getIdentifierColumnName
in interfaceCollectionPersister
-
selectFragment
Generate a list of collection index, key and element columns- Specified by:
selectFragment
in interfaceCollectionPersister
-
generateSelectSizeString
-
generateDetectRowByIndexString
-
generateDetectRowByElementString
-
getIndexColumnNames
-
getElementColumnNames
-
getKeyColumnNames
-
hasIndex
public boolean hasIndex()Description copied from interface:CollectionPersister
Is this an "indexed" collection? (list or map)- Specified by:
hasIndex
in interfaceCollectionPersister
-
isLazy
public boolean isLazy()Description copied from interface:CollectionPersister
Is this collection lazily initialized?- Specified by:
isLazy
in interfaceCollectionPersister
-
isInverse
public boolean isInverse()Description copied from interface:CollectionPersister
Is this collection "inverse", so state changes are not propagated to the database.- Specified by:
isInverse
in interfaceCollectionPersister
-
isCascadeDeleteEnabled
public boolean isCascadeDeleteEnabled()Description copied from interface:CollectionPersister
Is cascade delete handled by the database-level foreign key constraint definition?- Specified by:
isCascadeDeleteEnabled
in interfaceCollectionPersister
-
getTableName
- Specified by:
getTableName
in interfaceCollectionPersister
-
isRowDeleteEnabled
protected boolean isRowDeleteEnabled() -
needsRemove
public boolean needsRemove()Description copied from interface:CollectionPersister
WhetherCollectionPersister.remove(Object, SharedSessionContractImplementor)
might actually do something, or if it is definitely a no-op.- Specified by:
needsRemove
in interfaceCollectionPersister
-
isRowInsertEnabled
protected boolean isRowInsertEnabled() -
getOwnerEntityName
-
getOwnerEntityPersister
Description copied from interface:CollectionPersister
Get the persister of the entity that "owns" this collection- Specified by:
getOwnerEntityPersister
in interfaceCollectionPersister
-
getIdentifierGenerator
Deprecated.Description copied from interface:CollectionPersister
Get the surrogate key generation strategy (optional operation)- Specified by:
getIdentifierGenerator
in interfaceCollectionPersister
-
getGenerator
Description copied from interface:CollectionPersister
Get the surrogate key generation strategy (optional operation)- Specified by:
getGenerator
in interfaceCollectionPersister
-
hasOrphanDelete
public boolean hasOrphanDelete()Description copied from interface:CollectionPersister
Does this collection implement "orphan delete"?- Specified by:
hasOrphanDelete
in interfaceCollectionPersister
-
applyBaseRestrictions
public void applyBaseRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Description copied from interface:Restrictable
Applies the base set of restrictions.- Specified by:
applyBaseRestrictions
in interfaceRestrictable
-
applyBaseRestrictions
public void applyBaseRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Description copied from interface:Restrictable
Applies the base set of restrictions.- Specified by:
applyBaseRestrictions
in interfaceRestrictable
-
hasWhereRestrictions
public boolean hasWhereRestrictions()Description copied from interface:WhereRestrictable
Does this restrictable have a where restriction?- Specified by:
hasWhereRestrictions
in interfaceWhereRestrictable
-
applyWhereRestrictions
public void applyWhereRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, SqlAstCreationState creationState) Description copied from interface:WhereRestrictable
Apply theSQLRestriction
restrictions- Specified by:
applyWhereRestrictions
in interfaceWhereRestrictable
-
applyWhereFragments
protected void applyWhereFragments(Consumer<Predicate> predicateConsumer, String alias, TableGroup tableGroup, SqlAstCreationState astCreationState) -
applyFilterRestrictions
public void applyFilterRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, SqlAstCreationState creationState) Description copied from interface:FilterRestrictable
Applies just theFilter
values enabled for the associated entity- Specified by:
applyFilterRestrictions
in interfaceFilterRestrictable
-
isManyToMany
public abstract boolean isManyToMany()Description copied from interface:CollectionPersister
Is this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not contain all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones.- Specified by:
isManyToMany
in interfaceCollectionPersister
-
applyBaseManyToManyRestrictions
public void applyBaseManyToManyRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) - Specified by:
applyBaseManyToManyRestrictions
in interfaceCollectionPersister
-
getManyToManyFilterFragment
- Specified by:
getManyToManyFilterFragment
in interfaceCollectionPersister
-
getElementPersister
Description copied from interface:CollectionPersister
Get the persister of the element class, if this is a collection of entities (optional operation). Note that for a one-to-many association, the returned persister must beOuterJoinLoadable
.- Specified by:
getElementPersister
in interfaceCollectionPersister
-
getElementPersisterInternal
-
getCollectionSpaces
Description copied from interface:CollectionPersister
Get the "space" that holds the persistent state- Specified by:
getCollectionSpaces
in interfaceCollectionPersister
-
getFactory
- Specified by:
getFactory
in interfaceCollectionPersister
-
toString
-
isVersioned
public boolean isVersioned()Description copied from interface:CollectionPersister
Does this collection cause version increment of the owning entity?- Specified by:
isVersioned
in interfaceCollectionPersister
-
getSQLExceptionHelper
-
getCacheEntryStructure
Description copied from interface:CollectionPersister
Get the structure used to store data into the collection's cache region- Specified by:
getCacheEntryStructure
in interfaceCollectionPersister
-
isSubselectLoadable
public boolean isSubselectLoadable()- Specified by:
isSubselectLoadable
in interfaceCollectionPersister
-
isMutable
public boolean isMutable()Description copied from interface:CollectionPersister
Can the elements of this collection change?- Specified by:
isMutable
in interfaceCollectionPersister
-
getCollectionPropertyColumnAliases
- Specified by:
getCollectionPropertyColumnAliases
in interfaceCollectionPersister
-
initCollectionPropertyMap
public void initCollectionPropertyMap() -
isExtraLazy
public boolean isExtraLazy()- Specified by:
isExtraLazy
in interfaceCollectionPersister
-
getDialect
-
getBatchSize
public int getBatchSize()- Specified by:
getBatchSize
in interfaceCollectionPersister
-
getMappedByProperty
- Specified by:
getMappedByProperty
in interfaceCollectionPersister
- Returns:
- the name of the property this collection is mapped by
-
getFilterAliasGenerator
-
getFilterAliasGenerator
-
injectAttributeMapping
Allows injection of the corresponding plural-attribute mapping.- Specified by:
injectAttributeMapping
in interfacePluralAttributeMappingImpl.Aware
- Implementation Note:
- Helps solve the chicken-egg problem of which to create first. Ultimately we could
make this work in a similar fashion to how this works in the relationship between
EmbeddableMappingType
andEmbeddableValuedModelPart
.
-
getAttributeMapping
- Specified by:
getAttributeMapping
in interfaceCollectionPersister
-
registerAffectingFetchProfile
Description copied from interface:FetchProfileAffectee
Register the profile name with the entity/collection- Specified by:
registerAffectingFetchProfile
in interfaceFetchProfileAffectee
-
isAffectedByEnabledFetchProfiles
- Specified by:
isAffectedByEnabledFetchProfiles
in interfaceCollectionPersister
-
isAffectedByEnabledFilters
- Specified by:
isAffectedByEnabledFilters
in interfaceCollectionPersister
-
isAffectedByEnabledFilters
public boolean isAffectedByEnabledFilters(LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) - Specified by:
isAffectedByEnabledFilters
in interfaceCollectionPersister
-
isAffectedByEnabledFilters
public boolean isAffectedByEnabledFilters(Set<ManagedMappingType> visitedTypes, LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) - Specified by:
isAffectedByEnabledFilters
in interfaceCollectionPersister
-
isAffectedByEntityGraph
- Specified by:
isAffectedByEntityGraph
in interfaceCollectionPersister
-
getCollectionSemantics
- Specified by:
getCollectionSemantics
in interfaceCollectionPersister
-
getTargetPart
Description copied from interface:MutationTarget
The ModelPart describing the mutation target- Specified by:
getTargetPart
in interfaceCollectionMutationTarget
- Specified by:
getTargetPart
in interfaceMutationTarget<CollectionTableMapping>
-
getIdentifierTableName
Description copied from interface:MutationTarget
The name of the table defining the identifier for this target- Specified by:
getIdentifierTableName
in interfaceMutationTarget<CollectionTableMapping>
-
getCollectionTableMapping
- Specified by:
getCollectionTableMapping
in interfaceCollectionMutationTarget
-
hasPhysicalIndexColumn
public boolean hasPhysicalIndexColumn()Description copied from interface:CollectionMutationTarget
Whether the collection has at least one physical index column- Specified by:
hasPhysicalIndexColumn
in interfaceCollectionMutationTarget
-
forEachMutableTable
Description copied from interface:MutationTarget
Visit each table.- Specified by:
forEachMutableTable
in interfaceMutationTarget<CollectionTableMapping>
-
forEachMutableTableReverse
Description copied from interface:MutationTarget
Same asMutationTarget.forEachMutableTable(java.util.function.Consumer<T>)
except that here the tables are visited in reverse order- Specified by:
forEachMutableTableReverse
in interfaceMutationTarget<CollectionTableMapping>
-
buildDeleteAllOperation
-
generateDeleteAllAst
public RestrictedTableMutation<JdbcMutationOperation> generateDeleteAllAst(MutatingTableReference tableReference) -
applyKeyRestrictions
protected void applyKeyRestrictions(MutatingTableReference tableReference, ColumnValueParameterList parameterList, List<ColumnValueBinding> restrictionBindings) -
getCollectionType
Description copied from interface:CollectionPersister
Get the associatedType
- Specified by:
getCollectionType
in interfaceCollectionPersister
-
getKeyType
Description copied from interface:CollectionPersister
Get the "key" type (the type of the foreign key)- Specified by:
getKeyType
in interfaceCollectionPersister
-
getIdentifierType
Description copied from interface:CollectionPersister
Get the type of the surrogate key- Specified by:
getIdentifierType
in interfaceCollectionPersister
-
getIndexType
Description copied from interface:CollectionPersister
Get the "index" type for a list or map (optional operation)- Specified by:
getIndexType
in interfaceCollectionPersister
-
getElementType
Description copied from interface:CollectionPersister
Get the "element" type- Specified by:
getElementType
in interfaceCollectionPersister
-
getKeyColumnAliases
Description copied from interface:CollectionPersister
Generates the collection's key column aliases, based on the given suffix.- Specified by:
getKeyColumnAliases
in interfaceCollectionPersister
- Parameters:
suffix
- The suffix to use in the key column alias generation.- Returns:
- The key column aliases.
-
getElementColumnAliases
Description copied from interface:CollectionPersister
Generates the collection's element column aliases, based on the given suffix.- Specified by:
getElementColumnAliases
in interfaceCollectionPersister
- Parameters:
suffix
- The suffix to use in the element column alias generation.- Returns:
- The key column aliases.
-
getIndexColumnAliases
Description copied from interface:CollectionPersister
Generates the collection's index column aliases, based on the given suffix.- Specified by:
getIndexColumnAliases
in interfaceCollectionPersister
- Parameters:
suffix
- The suffix to use in the index column alias generation.- Returns:
- The key column aliases, or null if not indexed.
-
getIdentifierColumnAlias
Description copied from interface:CollectionPersister
Generates the collection's identifier column aliases, based on the given suffix.- Specified by:
getIdentifierColumnAlias
in interfaceCollectionPersister
- Parameters:
suffix
- The suffix to use in the key column alias generation.- Returns:
- The key column aliases.
-