Interface Fetch

All Superinterfaces:
DomainResultGraphNode
All Known Subinterfaces:
BiDirectionalFetch, EntityFetch
All Known Implementing Classes:
AbstractNonJoinedEntityFetch, AggregateEmbeddableFetchImpl, BasicFetch, CircularBiDirectionalFetchImpl, CircularFetchImpl, CollectionFetch, DelayedCollectionFetch, DiscriminatedEntityFetch, EagerCollectionFetch, EmbeddableFetchImpl, EntityDelayedFetchImpl, EntityFetchJoinedImpl, EntityFetchSelectImpl, NonAggregatedIdentifierMappingFetch, SelectEagerCollectionFetch

@Incubating public interface Fetch extends DomainResultGraphNode
Contract for fetches including entity, collection and composite. Acts as the producer for the DomainResultAssembler for this result as well as any Initializer instances needed
  • Method Details

    • getNavigablePath

      NavigablePath getNavigablePath()
      Get the property path to this fetch
      Specified by:
      getNavigablePath in interface DomainResultGraphNode
      Returns:
      The property path
    • getFetchParent

      FetchParent getFetchParent()
      Obtain the owner of this fetch. Ultimately used to identify the thing that "owns" this fetched navigable for the purpose of:

      * identifying the associated owner reference as we process the fetch * inject the fetched instance into the parent and potentially inject the parent reference into the fetched instance if it defines such injection (e.g. Parent)

    • asFetchParent

      default FetchParent asFetchParent()
      Utility method to avoid instanceof checks. Returns this if it's an instance of FetchParent, null otherwise.
    • getFetchedMapping

      Fetchable getFetchedMapping()
      The value mapping being fetched
    • getTiming

      FetchTiming getTiming()
      immediate or delayed? todo (6.0) : should we also expose the fetch-style? Perhaps the fetch-options?
    • hasTableGroup

      boolean hasTableGroup()
      Is the TableGroup associated with this Fetch defined?
    • containsAnyNonScalarResults

      default boolean containsAnyNonScalarResults()
      Description copied from interface: DomainResultGraphNode
      Does this node contain any non-scalar (sub-)results?
      Specified by:
      containsAnyNonScalarResults in interface DomainResultGraphNode
    • createAssembler

      DomainResultAssembler<?> createAssembler(InitializerParent<?> parent, AssemblerCreationState creationState)
      Create the assembler for this fetch