Interface ExpandingFetchSource
-
- All Superinterfaces:
FetchSource
- All Known Subinterfaces:
ExpandingEntityIdentifierDescription
public interface ExpandingFetchSource extends FetchSource
Describes the internal contract for things which can contain fetches. Used to request building the different types of fetches.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AnyAttributeFetch
buildAnyAttributeFetch(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
Builds a fetch for an "any" attribute.BidirectionalEntityReference
buildBidirectionalEntityReference(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy, EntityReference targetEntityReference)
Builds a bidirectional entity reference for an entity attribute.CollectionAttributeFetch
buildCollectionAttributeFetch(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
Builds a fetch for a collection attribute.CompositeAttributeFetch
buildCompositeAttributeFetch(AttributeDefinition attributeDefinition)
Builds a fetch for a composite attribute.EntityFetch
buildEntityAttributeFetch(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
Builds a fetch for an entity attribute.void
validateFetchPlan(FetchStrategy fetchStrategy, AttributeDefinition attributeDefinition)
Is the asserted plan valid from this owner to a fetch?-
Methods inherited from interface org.hibernate.loader.plan.spi.FetchSource
getBidirectionalEntityReferences, getFetches, getPropertyPath, getQuerySpaceUid, resolveEntityReference
-
-
-
-
Method Detail
-
validateFetchPlan
void validateFetchPlan(FetchStrategy fetchStrategy, AttributeDefinition attributeDefinition)
Is the asserted plan valid from this owner to a fetch?- Parameters:
fetchStrategy
- The type of fetch to validate.attributeDefinition
- The attribute to be fetched.
-
buildEntityAttributeFetch
EntityFetch buildEntityAttributeFetch(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
Builds a fetch for an entity attribute.- Parameters:
attributeDefinition
- The entity attribute.fetchStrategy
- The fetch strategy for the attribute.- Returns:
- The entity fetch.
-
buildBidirectionalEntityReference
BidirectionalEntityReference buildBidirectionalEntityReference(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy, EntityReference targetEntityReference)
Builds a bidirectional entity reference for an entity attribute.- Parameters:
attributeDefinition
- The attribute definition.fetchStrategy
- The fetch strategy for the attribute.targetEntityReference
- The associated (target) entity reference.- Returns:
- The bidirectional entity reference.
-
buildCompositeAttributeFetch
CompositeAttributeFetch buildCompositeAttributeFetch(AttributeDefinition attributeDefinition)
Builds a fetch for a composite attribute.- Parameters:
attributeDefinition
- The attribute definition.- Returns:
- The composite attribute fetch.
-
buildCollectionAttributeFetch
CollectionAttributeFetch buildCollectionAttributeFetch(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
Builds a fetch for a collection attribute.- Parameters:
attributeDefinition
- The attribute definition.fetchStrategy
- The fetch strategy for the attribute.- Returns:
- The collection attribute fetch.
-
buildAnyAttributeFetch
AnyAttributeFetch buildAnyAttributeFetch(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
Builds a fetch for an "any" attribute.- Parameters:
attributeDefinition
- The attribute definition.fetchStrategy
- The fetch strategy for the attibute.- Returns:
- The "any" attribute fetch.
-
-