Class AbstractCollectionPersister
java.lang.Object
org.hibernate.persister.collection.AbstractCollectionPersister
- All Implemented Interfaces:
FetchProfileAffectee,CollectionMetadata,FilterRestrictable,PluralAttributeMappingImpl.Aware,Restrictable,WhereRestrictable,CollectionPersister,DeprecatedCollectionStuff,CollectionMutationTarget,QueryableCollection,SQLLoadableCollection,Joinable,PropertyMapping,MutationTarget<CollectionTableMapping>
- Direct Known Subclasses:
BasicCollectionPersister,OneToManyPersister
@Internal
public abstract class AbstractCollectionPersister
extends Object
implements CollectionPersister, CollectionMutationTarget, PluralAttributeMappingImpl.Aware, FetchProfileAffectee, DeprecatedCollectionStuff
Base implementation of the
QueryableCollection interface.- Author:
- Gavin King
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intprotected 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 booleanprotected final TypeDeprecated.protected final booleanprotected final Stringprotected final String[]Deprecated.protected final boolean[]protected final boolean[]protected final String[]protected final booleanprotected final String[]protected final String[]protected final booleanprotected final String[]Deprecated.protected final String[]protected final Stringprotected final SqlExceptionHelperprotected final String -
Constructor Summary
ConstructorsConstructorDescriptionAbstractCollectionPersister(Collection collectionBootDescriptor, @Nullable CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) AbstractCollectionPersister(Collection collectionBootDescriptor, @Nullable CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyBaseManyToManyRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) voidapplyBaseRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Applies the base set of restrictions.voidapplyBaseRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Applies the base set of restrictions.voidapplyFilterRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, SqlAstCreationState creationState) Applies just theFiltervalues enabled for the associated entityprotected voidapplyKeyRestrictions(MutatingTableReference tableReference, ColumnValueParameterList parameterList, List<ColumnValueBinding> restrictionBindings) protected voidapplyWhereFragments(Consumer<Predicate> predicateConsumer, String alias, TableGroup tableGroup, SqlAstCreationState astCreationState) voidapplyWhereRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, SqlAstCreationState creationState) Apply theWhererestrictionsprotected JdbcMutationOperationbuildDeleteAllOperation(MutatingTableReference tableReference) protected CollectionLoadercreateNamedQueryCollectionLoader(CollectionPersister persister, NamedQueryMemento namedQueryMemento) For Hibernate Reactiveprotected CollectionLoadercreateSingleKeyCollectionLoader(LoadQueryInfluencers loadQueryInfluencers) For Hibernate Reactiveprotected CollectionLoadercreateSubSelectLoader(SubselectFetch subselect, SharedSessionContractImplementor session) decrementIndexByBase(Object index) Deprecated, for removal: This API element is subject to removal in a future version.No longer used.protected CollectionLoaderdetermineLoaderToUse(Object key, SharedSessionContractImplementor session) protected StringdetermineTableName(Table table) protected abstract voiddoProcessQueuedOps(PersistentCollection<?> collection, Object key, SharedSessionContractImplementor session) booleanelementExists(Object key, Object element, SharedSessionContractImplementor session) voidforEachMutableTable(Consumer<CollectionTableMapping> consumer) Visit each table.voidSame asMutationTarget.forEachMutableTable(java.util.function.Consumer<T>)except that here the tables are visited in reverse ordergenerateDeleteAllAst(MutatingTableReference tableReference) protected Stringprotected Stringprotected StringgenerateSelectSizeString(boolean isIntegerIndexed) intAccess to the collection's cache regionGet the structure used to store data into the collection's cache regionDeprecated.String[]getCollectionPropertyColumnAliases(String propertyName, String suffix) CollectionSemantics<?,?> String[]Get the "space" that holds the persistent stateGet the associatedTypeprotected DialectgetElementByIndex(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 names of the collection element columns (or the primary key columns in the case of a one-to-many association)String[]getElementColumnNames(String alias) Get the names of the collection element columns (or the primary key columns in the case of a one-to-many association), aliased by the given table aliasGet the persister of the element class, if this is a collection of entities (optional operation).protected EntityPersisterGet the "element" typeShould we load this collection role by outerjoining?abstract FilterAliasGeneratorgetFilterAliasGenerator(String rootAlias) abstract FilterAliasGeneratorgetFilterAliasGenerator(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 names of the collection index columns if this is an indexed collection (optional operation)String[]getIndexColumnNames(String alias) Get the names of the collection index columns if this is an indexed collection (optional operation), aliased by the given table aliasString[]Get the index formulas if this is an indexed collection (optional operation)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[]The columns to join onGet the "key" type (the type of the foreign key)getManyToManyFilterFragment(TableGroup tableGroup, Map<String, Filter> enabledFilters) getManyToManyOrderByString(String alias) Get the order-by to be applied at the target table of a many to manygetName()An identifying name; a class name or collection role name.The NavigableRole for this collection.Get the persister of the entity that "owns" this collectionprotected abstract RemoveCoordinatorprotected abstract RowMutationOperationsintgetSize(Object key, SharedSessionContractImplementor session) Comparator<?>For sorted collections, the comparator to use.protected SqlExceptionHelpergetSQLOrderByString(String alias) Get the order by SQLThe table to join to.The ModelPart describing the mutation targetbooleanhasCache()Is this collection role cacheablebooleanhasIndex()Is this an "indexed" collection?booleanbooleanIs this an ordered collection?booleanDoes this collection implement "orphan delete"?booleanWhether the collection has at least one physical index columnbooleanhasWhere()Does this collection role have a where clause filter?booleanDoes this restrictable have a where restriction?protected ObjectincrementIndexByBase(Object index) booleanindexExists(Object key, Object index, SharedSessionContractImplementor session) voidvoidinitialize(Object key, SharedSessionContractImplementor session) Initialize the given collection with the given keyvoidinjectAttributeMapping(PluralAttributeMapping attributeMapping) Allows injection of the corresponding plural-attribute mapping.booleanisAffectedByEnabledFetchProfiles(LoadQueryInfluencers influencers) booleanisAffectedByEnabledFilters(Set<ManagedMappingType> visitedTypes, LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) booleanisAffectedByEnabledFilters(LoadQueryInfluencers influencers) booleanisAffectedByEnabledFilters(LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) booleanbooleanisAffectedByEntityGraph(LoadQueryInfluencers influencers) booleanisArray()Is this an array?booleanbooleanIs cascade delete handled by the database-level foreign key constraint definition?booleanIs this instance actually a CollectionPersister?booleanbooleanIs this collection "inverse", so state changes are not propagated to the database.booleanisLazy()Is this collection lazily initialized?abstract booleanIs this a many-to-many association?booleanCan the elements of this collection change?booleanIs this an array of primitive values?protected booleanprotected booleanbooleanbooleanDoes this collection cause version increment of the owning entity?protected voidbooleanWhetherCollectionPersister.remove(Object, SharedSessionContractImplementor)might actually do something, or if it is definitely a no-op.voidvoidprocessQueuedOps(PersistentCollection<?> collection, Object key, SharedSessionContractImplementor session) Process queued operations within the PersistentCollection.voidregisterAffectingFetchProfile(String fetchProfileName) Register the profile name with the entity/collectionvoidremove(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 columnsString[]Given a property path, return the corresponding column name(s).toString()Given a component path expression, get the type of the propertybooleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.persister.collection.mutation.CollectionMutationTarget
getIdentifierTableMappingMethods inherited from interface org.hibernate.persister.collection.CollectionPersister
deleteRows, insertRows, isOneToMany, recreate, updateRowsMethods inherited from interface org.hibernate.persister.collection.DeprecatedCollectionStuff
getRoleMethods inherited from interface org.hibernate.metamodel.mapping.FilterRestrictable
applyFilterRestrictionsMethods inherited from interface org.hibernate.persister.entity.Joinable
consumesCollectionAlias, consumesEntityAliasMethods inherited from interface org.hibernate.sql.model.MutationTarget
getRolePath
-
Field Details
-
qualifiedTableName
-
hasWhere
protected final 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
@Deprecated(since="6.0") public AbstractCollectionPersister(Collection collectionBootDescriptor, @Nullable CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext) throws MappingException, CacheException Deprecated.- Throws:
MappingExceptionCacheException
-
AbstractCollectionPersister
public AbstractCollectionPersister(Collection collectionBootDescriptor, @Nullable CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) throws MappingException, CacheException - Throws:
MappingExceptionCacheException
-
-
Method Details
-
getSortingComparator
Description copied from interface:CollectionPersisterFor 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:
getSortingComparatorin interfaceCollectionPersister- See Also:
-
determineTableName
-
postInstantiate
- Specified by:
postInstantiatein 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:CollectionPersisterAccess to the collection's cache region- Specified by:
getCacheAccessStrategyin interfaceCollectionPersister
-
hasCache
public boolean hasCache()Description copied from interface:CollectionPersisterIs this collection role cacheable- Specified by:
hasCachein interfaceCollectionPersister
-
useShallowQueryCacheLayout
public boolean useShallowQueryCacheLayout()- Specified by:
useShallowQueryCacheLayoutin interfaceCollectionPersister
-
getRowMutationOperations
-
getRemoveCoordinator
-
getSQLOrderByString
Description copied from interface:QueryableCollectionGet the order by SQL- Specified by:
getSQLOrderByStringin interfaceQueryableCollection
-
getManyToManyOrderByString
Description copied from interface:QueryableCollectionGet the order-by to be applied at the target table of a many to many- Specified by:
getManyToManyOrderByStringin interfaceQueryableCollection- Parameters:
alias- The alias for the many-to-many target table- Returns:
- appropriate order-by fragment or empty string.
-
getFetchMode
Description copied from interface:QueryableCollectionShould we load this collection role by outerjoining?- Specified by:
getFetchModein interfaceQueryableCollection
-
hasOrdering
public boolean hasOrdering()Description copied from interface:CollectionPersisterIs 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:
hasOrderingin interfaceCollectionPersister
-
hasManyToManyOrdering
public boolean hasManyToManyOrdering()- Specified by:
hasManyToManyOrderingin interfaceCollectionPersister
-
hasWhere
public boolean hasWhere()Description copied from interface:QueryableCollectionDoes this collection role have a where clause filter?- Specified by:
hasWherein interfaceQueryableCollection
-
getElementClass
Return the element class of an array, or null otherwise. needed by arrays- Specified by:
getElementClassin interfaceCollectionPersister
-
decrementIndexByBase
Deprecated, for removal: This API element is subject to removal in a future version.No longer used. -
incrementIndexByBase
-
isPrimitiveArray
public boolean isPrimitiveArray()Description copied from interface:CollectionPersisterIs this an array of primitive values?- Specified by:
isPrimitiveArrayin interfaceCollectionMetadata- Specified by:
isPrimitiveArrayin interfaceCollectionPersister
-
isArray
public boolean isArray()Description copied from interface:CollectionPersisterIs this an array?- Specified by:
isArrayin interfaceCollectionMetadata- Specified by:
isArrayin interfaceCollectionPersister
-
getIdentifierColumnName
- Specified by:
getIdentifierColumnNamein interfaceSQLLoadableCollection
-
selectFragment
Generate a list of collection index, key and element columns- Specified by:
selectFragmentin interfaceQueryableCollection
-
generateSelectSizeString
-
generateDetectRowByIndexString
-
generateDetectRowByElementString
-
getIndexColumnNames
Description copied from interface:QueryableCollectionGet the names of the collection index columns if this is an indexed collection (optional operation)- Specified by:
getIndexColumnNamesin interfaceQueryableCollection
-
getIndexFormulas
Description copied from interface:QueryableCollectionGet the index formulas if this is an indexed collection (optional operation)- Specified by:
getIndexFormulasin interfaceQueryableCollection
-
getIndexColumnNames
Description copied from interface:QueryableCollectionGet the names of the collection index columns if this is an indexed collection (optional operation), aliased by the given table alias- Specified by:
getIndexColumnNamesin interfaceQueryableCollection
-
getElementColumnNames
Description copied from interface:QueryableCollectionGet the names of the collection element columns (or the primary key columns in the case of a one-to-many association), aliased by the given table alias- Specified by:
getElementColumnNamesin interfaceQueryableCollection
-
getElementColumnNames
Description copied from interface:QueryableCollectionGet the names of the collection element columns (or the primary key columns in the case of a one-to-many association)- Specified by:
getElementColumnNamesin interfaceQueryableCollection
-
getKeyColumnNames
Description copied from interface:JoinableThe columns to join on- Specified by:
getKeyColumnNamesin interfaceJoinable
-
hasIndex
public boolean hasIndex()Description copied from interface:CollectionPersisterIs this an "indexed" collection? (list or map)- Specified by:
hasIndexin interfaceCollectionMetadata- Specified by:
hasIndexin interfaceCollectionPersister
-
isLazy
public boolean isLazy()Description copied from interface:CollectionPersisterIs this collection lazily initialized?- Specified by:
isLazyin interfaceCollectionMetadata- Specified by:
isLazyin interfaceCollectionPersister
-
isInverse
public boolean isInverse()Description copied from interface:CollectionPersisterIs this collection "inverse", so state changes are not propagated to the database.- Specified by:
isInversein interfaceCollectionPersister
-
isCascadeDeleteEnabled
public boolean isCascadeDeleteEnabled()Description copied from interface:CollectionPersisterIs cascade delete handled by the database-level foreign key constraint definition?- Specified by:
isCascadeDeleteEnabledin interfaceCollectionPersister
-
getTableName
Description copied from interface:JoinableThe table to join to.- Specified by:
getTableNamein interfaceJoinable
-
isRowDeleteEnabled
protected boolean isRowDeleteEnabled() -
needsRemove
public boolean needsRemove()Description copied from interface:CollectionPersisterWhetherCollectionPersister.remove(Object, SharedSessionContractImplementor)might actually do something, or if it is definitely a no-op.- Specified by:
needsRemovein interfaceCollectionPersister
-
isRowInsertEnabled
protected boolean isRowInsertEnabled() -
getOwnerEntityName
-
getOwnerEntityPersister
Description copied from interface:CollectionPersisterGet the persister of the entity that "owns" this collection- Specified by:
getOwnerEntityPersisterin interfaceCollectionPersister
-
getIdentifierGenerator
Deprecated.Description copied from interface:CollectionPersisterGet the surrogate key generation strategy (optional operation)- Specified by:
getIdentifierGeneratorin interfaceCollectionPersister
-
getGenerator
Description copied from interface:CollectionPersisterGet the surrogate key generation strategy (optional operation)- Specified by:
getGeneratorin interfaceCollectionPersister
-
hasOrphanDelete
public boolean hasOrphanDelete()Description copied from interface:CollectionPersisterDoes this collection implement "orphan delete"?- Specified by:
hasOrphanDeletein interfaceCollectionPersister
-
toType
Description copied from interface:PropertyMappingGiven a component path expression, get the type of the property- Specified by:
toTypein interfacePropertyMapping- Throws:
QueryException
-
applyBaseRestrictions
public void applyBaseRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) Description copied from interface:RestrictableApplies the base set of restrictions.- Specified by:
applyBaseRestrictionsin 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:RestrictableApplies the base set of restrictions.- Specified by:
applyBaseRestrictionsin interfaceRestrictable
-
hasWhereRestrictions
public boolean hasWhereRestrictions()Description copied from interface:WhereRestrictableDoes this restrictable have a where restriction?- Specified by:
hasWhereRestrictionsin interfaceWhereRestrictable
-
applyWhereRestrictions
public void applyWhereRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, SqlAstCreationState creationState) Description copied from interface:WhereRestrictableApply theWhererestrictions- Specified by:
applyWhereRestrictionsin 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:FilterRestrictableApplies just theFiltervalues enabled for the associated entity- Specified by:
applyFilterRestrictionsin interfaceFilterRestrictable
-
isManyToMany
public abstract boolean isManyToMany()Description copied from interface:CollectionPersisterIs 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:
isManyToManyin interfaceCollectionPersister
-
applyBaseManyToManyRestrictions
public void applyBaseManyToManyRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String, Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState) - Specified by:
applyBaseManyToManyRestrictionsin interfaceCollectionPersister
-
getManyToManyFilterFragment
- Specified by:
getManyToManyFilterFragmentin interfaceCollectionPersister
-
toColumns
Description copied from interface:PropertyMappingGiven a property path, return the corresponding column name(s).- Specified by:
toColumnsin interfacePropertyMapping- Throws:
QueryException
-
getName
Description copied from interface:JoinableAn identifying name; a class name or collection role name. -
getElementPersister
Description copied from interface:QueryableCollectionGet 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:
getElementPersisterin interfaceQueryableCollection
-
getElementPersisterInternal
-
isCollection
public boolean isCollection()Description copied from interface:JoinableIs this instance actually a CollectionPersister?- Specified by:
isCollectionin interfaceJoinable
-
getCollectionSpaces
Description copied from interface:CollectionPersisterGet the "space" that holds the persistent state- Specified by:
getCollectionSpacesin interfaceCollectionPersister
-
getCollectionMetadata
Deprecated.Description copied from interface:CollectionPersisterGet the user-visible metadata for the collection (optional operation)- Specified by:
getCollectionMetadatain interfaceCollectionPersister
-
getFactory
- Specified by:
getFactoryin interfaceCollectionPersister
-
toString
-
isVersioned
public boolean isVersioned()Description copied from interface:CollectionPersisterDoes this collection cause version increment of the owning entity?- Specified by:
isVersionedin interfaceCollectionPersister
-
getSQLExceptionHelper
-
getCacheEntryStructure
Description copied from interface:CollectionPersisterGet the structure used to store data into the collection's cache region- Specified by:
getCacheEntryStructurein interfaceCollectionPersister
-
isSubselectLoadable
public boolean isSubselectLoadable()- Specified by:
isSubselectLoadablein interfaceCollectionPersister
-
isMutable
public boolean isMutable()Description copied from interface:CollectionPersisterCan the elements of this collection change?- Specified by:
isMutablein interfaceCollectionPersister
-
getCollectionPropertyColumnAliases
- Specified by:
getCollectionPropertyColumnAliasesin interfaceSQLLoadableCollection
-
initCollectionPropertyMap
public void initCollectionPropertyMap() -
isExtraLazy
public boolean isExtraLazy()- Specified by:
isExtraLazyin interfaceCollectionPersister
-
getDialect
-
getBatchSize
public int getBatchSize()- Specified by:
getBatchSizein interfaceCollectionPersister
-
isBatchLoadable
public boolean isBatchLoadable()- Specified by:
isBatchLoadablein interfaceCollectionPersister
-
getMappedByProperty
- Specified by:
getMappedByPropertyin 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:
injectAttributeMappingin interfacePluralAttributeMappingImpl.Aware
-
getAttributeMapping
- Specified by:
getAttributeMappingin interfaceCollectionPersister
-
registerAffectingFetchProfile
Description copied from interface:FetchProfileAffecteeRegister the profile name with the entity/collection- Specified by:
registerAffectingFetchProfilein interfaceFetchProfileAffectee
-
isAffectedByEnabledFetchProfiles
- Specified by:
isAffectedByEnabledFetchProfilesin interfaceCollectionPersister
-
isAffectedByEnabledFilters
- Specified by:
isAffectedByEnabledFiltersin interfaceCollectionPersister
-
isAffectedByEnabledFilters
public boolean isAffectedByEnabledFilters(LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) - Specified by:
isAffectedByEnabledFiltersin interfaceCollectionPersister
-
isAffectedByEnabledFilters
public boolean isAffectedByEnabledFilters(Set<ManagedMappingType> visitedTypes, LoadQueryInfluencers influencers, boolean onlyApplyForLoadByKeyFilters) - Specified by:
isAffectedByEnabledFiltersin interfaceCollectionPersister
-
isAffectedByEntityGraph
- Specified by:
isAffectedByEntityGraphin interfaceCollectionPersister
-
getCollectionSemantics
- Specified by:
getCollectionSemanticsin interfaceCollectionPersister
-
getTargetPart
Description copied from interface:MutationTargetThe ModelPart describing the mutation target- Specified by:
getTargetPartin interfaceCollectionMutationTarget- Specified by:
getTargetPartin interfaceMutationTarget<CollectionTableMapping>
-
getIdentifierTableName
Description copied from interface:MutationTargetThe name of the table defining the identifier for this target- Specified by:
getIdentifierTableNamein interfaceMutationTarget<CollectionTableMapping>
-
getCollectionTableMapping
- Specified by:
getCollectionTableMappingin interfaceCollectionMutationTarget
-
hasPhysicalIndexColumn
public boolean hasPhysicalIndexColumn()Description copied from interface:CollectionMutationTargetWhether the collection has at least one physical index column- Specified by:
hasPhysicalIndexColumnin interfaceCollectionMutationTarget
-
forEachMutableTable
Description copied from interface:MutationTargetVisit each table.- Specified by:
forEachMutableTablein interfaceMutationTarget<CollectionTableMapping>
-
forEachMutableTableReverse
Description copied from interface:MutationTargetSame asMutationTarget.forEachMutableTable(java.util.function.Consumer<T>)except that here the tables are visited in reverse order- Specified by:
forEachMutableTableReversein 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:CollectionPersisterGet the associatedType- Specified by:
getCollectionTypein interfaceCollectionPersister
-
getKeyType
Description copied from interface:CollectionPersisterGet the "key" type (the type of the foreign key)- Specified by:
getKeyTypein interfaceCollectionMetadata- Specified by:
getKeyTypein interfaceCollectionPersister
-
getIdentifierType
Description copied from interface:CollectionPersisterGet the type of the surrogate key- Specified by:
getIdentifierTypein interfaceCollectionPersister
-
getIndexType
Description copied from interface:CollectionPersisterGet the "index" type for a list or map (optional operation)- Specified by:
getIndexTypein interfaceCollectionMetadata- Specified by:
getIndexTypein interfaceCollectionPersister
-
getElementType
Description copied from interface:CollectionPersisterGet the "element" type- Specified by:
getElementTypein interfaceCollectionMetadata- Specified by:
getElementTypein interfaceCollectionPersister
-
getKeyColumnAliases
Description copied from interface:CollectionPersisterGenerates the collection's key column aliases, based on the given suffix.- Specified by:
getKeyColumnAliasesin interfaceCollectionPersister- Parameters:
suffix- The suffix to use in the key column alias generation.- Returns:
- The key column aliases.
-
getElementColumnAliases
Description copied from interface:CollectionPersisterGenerates the collection's element column aliases, based on the given suffix.- Specified by:
getElementColumnAliasesin interfaceCollectionPersister- Parameters:
suffix- The suffix to use in the element column alias generation.- Returns:
- The key column aliases.
-
getIndexColumnAliases
Description copied from interface:CollectionPersisterGenerates the collection's index column aliases, based on the given suffix.- Specified by:
getIndexColumnAliasesin 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:CollectionPersisterGenerates the collection's identifier column aliases, based on the given suffix.- Specified by:
getIdentifierColumnAliasin interfaceCollectionPersister- Parameters:
suffix- The suffix to use in the key column alias generation.- Returns:
- The key column aliases.