Package org.hibernate.metamodel.mapping
Interface PluralAttributeMapping
-
- All Superinterfaces:
AttributeMapping,Bindable,DatabaseSnapshotContributor,Fetchable,FetchableContainer,FilterRestrictable,JavaTypedExpressible,JdbcMappingContainer,Loadable,MappingModelExpressible,ModelPart,ModelPartContainer,MutabilityPlanExposer,OwnedValuedModelPart,PropertyBasedMapping,Restrictable,RootTableGroupProducer,SelectableMappings,SoftDeletableModelPart,TableGroupJoinProducer,TableGroupProducer,ValuedModelPart,ValueMapping,WhereRestrictable
- All Known Implementing Classes:
PluralAttributeMappingImpl
public interface PluralAttributeMapping extends AttributeMapping, TableGroupJoinProducer, FetchableContainer, Loadable, Restrictable, SoftDeletableModelPart
Mapping of a plural (collection-valued) attribute
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfacePluralAttributeMapping.IndexMetadatastatic interfacePluralAttributeMapping.PredicateConsumer-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,Y>, Bindable.JdbcValuesConsumer
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.ModelPart
ModelPart.JdbcValueBiConsumer<X,Y>, ModelPart.JdbcValueConsumer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidapplyBaseManyToManyRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String,Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState)default 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.default voidapplyFilterRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String,Filter> enabledFilters, boolean onlyApplyLoadByKeyFilters, SqlAstCreationState creationState)Applies just theFiltervalues enabled for the associated entityvoidapplySoftDeleteRestrictions(TableGroup tableGroup, PluralAttributeMapping.PredicateConsumer predicateConsumer)default voidapplyWhereRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, SqlAstCreationState creationState)Apply theWhererestrictionsdefault PluralAttributeMappingasPluralAttributeMapping()A utility method to avoid casting explicitly to PluralAttributeMappingdefault <T> DomainResult<T>createSnapshotDomainResult(NavigablePath navigablePath, TableGroup parentTableGroup, String resultVariable, DomainResultCreationState creationState)Create a DomainResult to be used when selecting snapshots from the database.CollectionPersistergetCollectionDescriptor()CollectionPartgetElementDescriptor()default FetchablegetFetchable(int position)CollectionIdentifierDescriptorgetIdentifierDescriptor()CollectionPartgetIndexDescriptor()PluralAttributeMapping.IndexMetadatagetIndexMetadata()ForeignKeyDescriptorgetKeyDescriptor()default FetchablegetKeyFetchable(int position)OrderByFragmentgetManyToManyOrderByFragment()CollectionMappingType<?>getMappedType()Descriptor for the type of this mappingdefault intgetNumberOfFetchableKeys()The number of fetchables in the containerdefault intgetNumberOfFetchables()The number of fetchables in the containerdefault intgetNumberOfKeyFetchables()The number of key fetchables in the containerOrderByFragmentgetOrderByFragment()StringgetSeparateCollectionTable()default SoftDeleteMappinggetSoftDeleteMapping()Mapping for soft-delete support, ornullif soft-delete not defineddefault booleanhasWhereRestrictions()Does this restrictable have a where restriction?default booleanincrementFetchDepth()Should this Fetchable affect the fetch depth? E.g., composites would generally not increment the fetch depth.booleanisBidirectionalAttributeName(NavigablePath fetchablePath, ToOneAttributeMapping modelPart)default booleanisPluralAttributeMapping()default voidvisitFetchables(Consumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)default voidvisitFetchables(IndexedConsumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)default voidvisitKeyFetchables(Consumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)default voidvisitKeyFetchables(IndexedConsumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)-
Methods inherited from interface org.hibernate.metamodel.mapping.AttributeMapping
asAttributeMapping, asEmbeddedAttributeMapping, compare, findContainingEntityMapping, getAttributeMetadata, getAttributeName, getDeclaringType, getExposedMutabilityPlan, getGenerator, getPartName, getPropertyAccess, getStateArrayPosition, getValue, isEmbeddedAttributeMapping, setValue
-
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
addToCacheKey, disassemble, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue
-
Methods inherited from interface org.hibernate.sql.results.graph.Fetchable
generateFetch, getFetchableKey, getFetchableName, getMappedFetchOptions, isSelectable, resolveCircularFetch
-
Methods inherited from interface org.hibernate.sql.results.graph.FetchableContainer
getSelectableIndex, visitFetchables, visitKeyFetchables
-
Methods inherited from interface org.hibernate.metamodel.mapping.FilterRestrictable
applyFilterRestrictions
-
Methods inherited from interface org.hibernate.type.descriptor.java.JavaTypedExpressible
addToCacheKey
-
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
forEachJdbcType, getJdbcMapping
-
Methods inherited from interface org.hibernate.loader.ast.spi.Loadable
getBatchSize, getRootPathName, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEntityGraph, isAffectedByInfluencers, isAffectedByInfluencers, isNotAffectedByInfluencers
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPart
applySqlSelections, applySqlSelections, areEqual, asBasicValuedModelPart, asEntityMappingType, breakDownJdbcValues, breakDownJdbcValues, createDomainResult, decompose, decompose, getJavaType, getNavigableRole, getPartMappingType, hasPartitionedSelectionMapping, isEntityIdentifierMapping, isVirtual
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPartContainer
findByPath, findByPath, findSubPart, forEachSubPart, forEachSubPart, visitSubParts
-
Methods inherited from interface org.hibernate.metamodel.mapping.Restrictable
applyBaseRestrictions
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.RootTableGroupProducer
createRootTableGroup
-
Methods inherited from interface org.hibernate.metamodel.mapping.SelectableMappings
getSelectable
-
Methods inherited from interface org.hibernate.metamodel.mapping.SoftDeletableModelPart
getSoftDeleteTableDetails
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupJoinProducer
createRootTableGroupJoin, createTableGroupJoin, determineSqlJoinType, getDefaultSqlAstJoinType, isSimpleJoinPredicate
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupProducer
containsTableReference, getSqlAliasStem
-
Methods inherited from interface org.hibernate.metamodel.mapping.ValuedModelPart
forEachInsertable, forEachNonFormula, forEachSelectable, forEachSelectable, forEachUpdatable, getContainingTableExpression, getJdbcTypeCount, getSingleJdbcMapping
-
Methods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
getExpressibleJavaType, treatAs
-
-
-
-
Method Detail
-
getCollectionDescriptor
CollectionPersister getCollectionDescriptor()
-
getKeyDescriptor
ForeignKeyDescriptor getKeyDescriptor()
-
getIndexDescriptor
CollectionPart getIndexDescriptor()
-
getMappedType
CollectionMappingType<?> getMappedType()
Description copied from interface:ValueMappingDescriptor for the type of this mapping- Specified by:
getMappedTypein interfaceValueMapping
-
applySoftDeleteRestrictions
void applySoftDeleteRestrictions(TableGroup tableGroup, PluralAttributeMapping.PredicateConsumer predicateConsumer)
-
getIndexMetadata
PluralAttributeMapping.IndexMetadata getIndexMetadata()
-
getElementDescriptor
CollectionPart getElementDescriptor()
-
getIdentifierDescriptor
CollectionIdentifierDescriptor getIdentifierDescriptor()
-
getSoftDeleteMapping
default SoftDeleteMapping getSoftDeleteMapping()
Mapping for soft-delete support, ornullif soft-delete not defined- Specified by:
getSoftDeleteMappingin interfaceSoftDeletableModelPart
-
getOrderByFragment
OrderByFragment getOrderByFragment()
-
getManyToManyOrderByFragment
OrderByFragment getManyToManyOrderByFragment()
-
visitKeyFetchables
default void visitKeyFetchables(Consumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)
- Specified by:
visitKeyFetchablesin interfaceFetchableContainer
-
getNumberOfKeyFetchables
default int getNumberOfKeyFetchables()
Description copied from interface:FetchableContainerThe number of key fetchables in the container- Specified by:
getNumberOfKeyFetchablesin interfaceFetchableContainer
-
getKeyFetchable
default Fetchable getKeyFetchable(int position)
- Specified by:
getKeyFetchablein interfaceFetchableContainer
-
visitKeyFetchables
default void visitKeyFetchables(IndexedConsumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)
- Specified by:
visitKeyFetchablesin interfaceFetchableContainer
-
visitFetchables
default void visitFetchables(Consumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)
- Specified by:
visitFetchablesin interfaceFetchableContainer
-
getNumberOfFetchables
default int getNumberOfFetchables()
Description copied from interface:FetchableContainerThe number of fetchables in the container- Specified by:
getNumberOfFetchablesin interfaceFetchableContainer
-
getNumberOfFetchableKeys
default int getNumberOfFetchableKeys()
Description copied from interface:FetchableContainerThe number of fetchables in the container- Specified by:
getNumberOfFetchableKeysin interfaceFetchableContainer
-
visitFetchables
default void visitFetchables(IndexedConsumer<? super Fetchable> fetchableConsumer, EntityMappingType treatTargetType)
- Specified by:
visitFetchablesin interfaceFetchableContainer
-
getFetchable
default Fetchable getFetchable(int position)
- Specified by:
getFetchablein interfaceFetchableContainer
-
createSnapshotDomainResult
default <T> DomainResult<T> createSnapshotDomainResult(NavigablePath navigablePath, TableGroup parentTableGroup, String resultVariable, DomainResultCreationState creationState)
Description copied from interface:DatabaseSnapshotContributorCreate a DomainResult to be used when selecting snapshots from the database.By default, simply use
ModelPart.createDomainResult(org.hibernate.spi.NavigablePath, org.hibernate.sql.ast.tree.from.TableGroup, java.lang.String, org.hibernate.sql.results.graph.DomainResultCreationState)- Specified by:
createSnapshotDomainResultin interfaceDatabaseSnapshotContributor
-
getSeparateCollectionTable
String getSeparateCollectionTable()
-
isBidirectionalAttributeName
boolean isBidirectionalAttributeName(NavigablePath fetchablePath, ToOneAttributeMapping modelPart)
-
incrementFetchDepth
default boolean incrementFetchDepth()
Description copied from interface:FetchableShould this Fetchable affect the fetch depth? E.g., composites would generally not increment the fetch depth.- Specified by:
incrementFetchDepthin interfaceFetchable- See Also:
FetchSettings.MAX_FETCH_DEPTH
-
applyFilterRestrictions
default 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
-
applyBaseRestrictions
default 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
-
applyBaseManyToManyRestrictions
default void applyBaseManyToManyRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, Map<String,Filter> enabledFilters, Set<String> treatAsDeclarations, SqlAstCreationState creationState)
-
hasWhereRestrictions
default boolean hasWhereRestrictions()
Description copied from interface:WhereRestrictableDoes this restrictable have a where restriction?- Specified by:
hasWhereRestrictionsin interfaceWhereRestrictable
-
applyWhereRestrictions
default void applyWhereRestrictions(Consumer<Predicate> predicateConsumer, TableGroup tableGroup, boolean useQualifier, SqlAstCreationState creationState)
Description copied from interface:WhereRestrictableApply theWhererestrictions- Specified by:
applyWhereRestrictionsin interfaceWhereRestrictable
-
asPluralAttributeMapping
default PluralAttributeMapping asPluralAttributeMapping()
Description copied from interface:AttributeMappingA utility method to avoid casting explicitly to PluralAttributeMapping- Specified by:
asPluralAttributeMappingin interfaceAttributeMapping- Returns:
- PluralAttributeMapping if this is an instance of PluralAttributeMapping otherwise
null
-
isPluralAttributeMapping
default boolean isPluralAttributeMapping()
- Specified by:
isPluralAttributeMappingin interfaceAttributeMapping
-
-