Class AbstractEntityCollectionPart
java.lang.Object
org.hibernate.metamodel.mapping.internal.AbstractEntityCollectionPart
- All Implemented Interfaces:
Bindable,CollectionPart,EntityValuedModelPart,EntityCollectionPart,JdbcMappingContainer,MappingModelExpressible,ModelPart,ModelPartContainer,SelectableMappings,ValuedModelPart,ValueMapping,TableGroupProducer,EntityValuedFetchable,Fetchable,FetchableContainer,FetchOptions,FetchStyleAccess,FetchTimingAccess,JavaTypedExpressible
- Direct Known Subclasses:
ManyToManyCollectionPart,OneToManyCollectionPart
public abstract class AbstractEntityCollectionPart
extends Object
implements EntityCollectionPart, FetchOptions, TableGroupProducer
Base support for EntityCollectionPart implementations
-
Nested Class Summary
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.CollectionPart
CollectionPart.NatureNested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.internal.EntityCollectionPart
EntityCollectionPart.CardinalityNested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.ModelPart
ModelPart.JdbcValueBiConsumer<X,Y>, ModelPart.JdbcValueConsumer -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractEntityCollectionPart(CollectionPart.Nature nature, Collection collectionBootDescriptor, CollectionPersister collectionDescriptor, EntityMappingType associatedEntityTypeDescriptor, NotFoundAction notFoundAction, MappingModelCreationProcess creationProcess) protectedFor Hibernate Reactive -
Method Summary
Modifier and TypeMethodDescriptionprotected EagerCollectionFetchbuildEagerCollectionFetch(NavigablePath fetchedPath, PluralAttributeMapping fetchedAttribute, TableGroup collectionTableGroup, FetchParent fetchParent, DomainResultCreationState creationState) For Hibernate Reactiveprotected EntityFetchbuildEntityFetchJoined(FetchParent fetchParent, AbstractEntityCollectionPart abstractEntityCollectionPart, TableGroup partTableGroup, NavigablePath fetchablePath, DomainResultCreationState creationState) For Hibernate ReactivebooleancontainsTableReference(String tableExpression) <T> DomainResult<T> createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState) Create a DomainResult for a specific reference to this ModelPart.createTableGroupInternal(boolean canUseInnerJoins, NavigablePath navigablePath, boolean fetched, String sourceAlias, SqlAliasBase sqlAliasBase, SqlAstCreationState creationState) disassemble(Object value, SharedSessionContractImplementor session) Breaks down a value ofJinto its simple pieces.generateFetch(FetchParent fetchParent, NavigablePath fetchablePath, FetchTiming fetchTiming, boolean selected, String resultVariable, DomainResultCreationState creationState) Generates a Fetch of this fetchableintThe key that identifies this Fetchable within aFetchableContainer.The name of the fetchable.The configured fetch timing and styleDescriptor for the type of this mappingintThe number of fetchables in the containerGet the "stem" used as the base for generating SQL table aliases for table references that are part of the TableGroup being generatedgetStyle()booleanShould this Fetchable affect the fetch depth? E.g., composites would generally not increment the fetch depth.booleanbooleanprotected abstract AssociationKeytoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValueMethods inherited from interface org.hibernate.metamodel.mapping.CollectionPart
getInclusionCheckPart, getPartNameMethods inherited from interface org.hibernate.metamodel.mapping.internal.EntityCollectionPart
addToCacheKey, finishInitialization, getCardinality, getEntityMappingType, getExpressibleJavaType, getJavaType, getJdbcTypeCount, getPartMappingTypeMethods inherited from interface org.hibernate.metamodel.mapping.EntityValuedModelPart
applySqlSelections, applySqlSelections, findSubPart, findSubPart, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachSubPart, visitSubPartsMethods inherited from interface org.hibernate.sql.results.graph.Fetchable
asAttributeMapping, isSelectable, resolveCircularFetchMethods inherited from interface org.hibernate.sql.results.graph.FetchableContainer
getFetchable, getKeyFetchable, getNumberOfFetchableKeys, getNumberOfKeyFetchables, getSelectableIndex, visitFetchables, visitFetchables, visitFetchables, visitKeyFetchables, visitKeyFetchables, visitKeyFetchablesMethods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
getJdbcMappingMethods inherited from interface org.hibernate.metamodel.mapping.ModelPart
areEqual, asBasicValuedModelPart, asEntityMappingType, breakDownJdbcValues, breakDownJdbcValues, decompose, decompose, hasPartitionedSelectionMapping, isEntityIdentifierMapping, isVirtualMethods inherited from interface org.hibernate.metamodel.mapping.ModelPartContainer
findByPath, findByPath, forEachSubPartMethods inherited from interface org.hibernate.metamodel.mapping.SelectableMappings
getSelectableMethods inherited from interface org.hibernate.metamodel.mapping.ValuedModelPart
forEachInsertable, forEachNonFormula, forEachSelectable, forEachSelectable, forEachUpdatable, getContainingTableExpression, getSingleJdbcMappingMethods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
treatAs
-
Field Details
-
targetKeyPropertyNames
-
-
Constructor Details
-
AbstractEntityCollectionPart
public AbstractEntityCollectionPart(CollectionPart.Nature nature, Collection collectionBootDescriptor, CollectionPersister collectionDescriptor, EntityMappingType associatedEntityTypeDescriptor, NotFoundAction notFoundAction, MappingModelCreationProcess creationProcess) -
AbstractEntityCollectionPart
For Hibernate Reactive
-
-
Method Details
-
toString
-
getCollectionDescriptor
-
getMappedType
Description copied from interface:ValueMappingDescriptor for the type of this mapping- Specified by:
getMappedTypein interfaceValueMapping
-
getNature
- Specified by:
getNaturein interfaceCollectionPart
-
getCollectionAttribute
- Specified by:
getCollectionAttributein interfaceCollectionPart
-
getFetchableName
Description copied from interface:FetchableThe name of the fetchable. This is the part's "local name".- Specified by:
getFetchableNamein interfaceEntityCollectionPart- Specified by:
getFetchableNamein interfaceFetchable- See Also:
-
getFetchableKey
public int getFetchableKey()Description copied from interface:FetchableThe key that identifies this Fetchable within aFetchableContainer. If this Fetchable is part ofFetchableContainer.visitFetchables(IndexedConsumer, EntityMappingType), the values is guaranteed to be between 0 (inclusive) andFetchableContainer.getNumberOfFetchableKeys()(exclusive). Other Fetchable objects may have a special negative value.The main intent of this key is to index e.g.
Fetchobjects in an array.- Specified by:
getFetchableKeyin interfaceFetchable
-
getAssociatedEntityMappingType
- Specified by:
getAssociatedEntityMappingTypein interfaceEntityCollectionPart
-
getNotFoundAction
- Specified by:
getNotFoundActionin interfaceEntityCollectionPart
-
getMappedFetchOptions
Description copied from interface:FetchableThe configured fetch timing and style- Specified by:
getMappedFetchOptionsin interfaceFetchable
-
getStyle
- Specified by:
getStylein interfaceFetchStyleAccess
-
getTiming
- Specified by:
getTimingin interfaceFetchTimingAccess
-
incrementFetchDepth
public 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:
-
isOptional
public boolean isOptional()- Specified by:
isOptionalin interfaceEntityValuedFetchable
-
isUnwrapProxy
public boolean isUnwrapProxy()- Specified by:
isUnwrapProxyin interfaceEntityValuedFetchable
-
findContainingEntityMapping
- Specified by:
findContainingEntityMappingin interfaceModelPart
-
getNumberOfFetchables
public int getNumberOfFetchables()Description copied from interface:FetchableContainerThe number of fetchables in the container- Specified by:
getNumberOfFetchablesin interfaceFetchableContainer
-
resolveFetchAssociationKey
-
getSqlAliasStem
Description copied from interface:TableGroupProducerGet the "stem" used as the base for generating SQL table aliases for table references that are part of the TableGroup being generatedNote that this is a metadata-ive value. It is only ever used internal to the producer producing its TableGroup.
- Specified by:
getSqlAliasStemin interfaceTableGroupProducer- See Also:
-
containsTableReference
- Specified by:
containsTableReferencein interfaceTableGroupProducer
-