Class ReactiveNaturalIdLoaderDelegate<T>

java.lang.Object
org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<CompletionStage<T>>
org.hibernate.reactive.loader.ast.internal.ReactiveNaturalIdLoaderDelegate<T>
Type Parameters:
T -
All Implemented Interfaces:
org.hibernate.loader.ast.spi.EntityLoader, org.hibernate.loader.ast.spi.Loader, org.hibernate.loader.ast.spi.MultiKeyLoader, org.hibernate.loader.ast.spi.NaturalIdLoader<CompletionStage<T>>, ReactiveNaturalIdLoader<T>

public abstract class ReactiveNaturalIdLoaderDelegate<T> extends org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<CompletionStage<T>> implements ReactiveNaturalIdLoader<T>
The common natural id loader implementation for ReactiveSimpleNaturalIdLoader and ReactiveCompoundNaturalIdLoader.

We use a delegator because those classes already extend the ORM implementations.

  • Constructor Summary

    Constructors
    Constructor
    Description
    ReactiveNaturalIdLoaderDelegate(org.hibernate.metamodel.mapping.NaturalIdMapping naturalIdMapping, org.hibernate.metamodel.mapping.EntityMappingType entityDescriptor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    load(Object naturalIdValue, org.hibernate.loader.ast.spi.NaturalIdLoadOptions options, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveSelectByNaturalId(Object bindValue, org.hibernate.loader.ast.spi.NaturalIdLoadOptions options, BiFunction<org.hibernate.sql.ast.tree.from.TableGroup,org.hibernate.loader.ast.internal.LoaderSqlAstCreationState,org.hibernate.sql.results.graph.DomainResult<?>> domainResultProducer, org.hibernate.loader.ast.internal.LoaderSqlAstCreationState.FetchProcessor fetchProcessor, Function<Boolean,Long> statementStartHandler, BiConsumer<Object,Long> statementCompletionHandler, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    resolveIdToNaturalId(Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    resolveNaturalIdToId(Object naturalIdValue, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    protected static org.hibernate.sql.results.graph.internal.ImmutableFetchList
    visitFetches(org.hibernate.sql.results.graph.FetchParent fetchParent, org.hibernate.loader.ast.internal.LoaderSqlAstCreationState creationState)
     

    Methods inherited from class org.hibernate.loader.ast.internal.AbstractNaturalIdLoader

    applyNaturalIdRestriction, entityDescriptor, executeNaturalIdQuery, getLoadable, naturalIdMapping, resolveColumnReference

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.hibernate.loader.ast.spi.EntityLoader

    getLoadable
  • Constructor Details

    • ReactiveNaturalIdLoaderDelegate

      public ReactiveNaturalIdLoaderDelegate(org.hibernate.metamodel.mapping.NaturalIdMapping naturalIdMapping, org.hibernate.metamodel.mapping.EntityMappingType entityDescriptor)
  • Method Details

    • load

      public CompletionStage<T> load(Object naturalIdValue, org.hibernate.loader.ast.spi.NaturalIdLoadOptions options, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      load in interface org.hibernate.loader.ast.spi.NaturalIdLoader<T>
      Overrides:
      load in class org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<CompletionStage<T>>
    • resolveNaturalIdToId

      public CompletionStage<Object> resolveNaturalIdToId(Object naturalIdValue, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      resolveNaturalIdToId in interface org.hibernate.loader.ast.spi.NaturalIdLoader<T>
      Specified by:
      resolveNaturalIdToId in interface ReactiveNaturalIdLoader<T>
      Overrides:
      resolveNaturalIdToId in class org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<CompletionStage<T>>
    • resolveIdToNaturalId

      public CompletionStage<Object> resolveIdToNaturalId(Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      resolveIdToNaturalId in interface org.hibernate.loader.ast.spi.NaturalIdLoader<T>
      Specified by:
      resolveIdToNaturalId in interface ReactiveNaturalIdLoader<T>
      Overrides:
      resolveIdToNaturalId in class org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<CompletionStage<T>>
    • reactiveSelectByNaturalId

      public CompletionStage<Object> reactiveSelectByNaturalId(Object bindValue, org.hibernate.loader.ast.spi.NaturalIdLoadOptions options, BiFunction<org.hibernate.sql.ast.tree.from.TableGroup,org.hibernate.loader.ast.internal.LoaderSqlAstCreationState,org.hibernate.sql.results.graph.DomainResult<?>> domainResultProducer, org.hibernate.loader.ast.internal.LoaderSqlAstCreationState.FetchProcessor fetchProcessor, Function<Boolean,Long> statementStartHandler, BiConsumer<Object,Long> statementCompletionHandler, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      See Also:
      • AbstractNaturalIdLoader#selectByNaturalId(Object, NaturalIdLoadOptions, BiFunction, LoaderSqlAstCreationState.FetchProcessor, Function, BiConsumer, SharedSessionContractImplementor)
    • visitFetches

      protected static org.hibernate.sql.results.graph.internal.ImmutableFetchList visitFetches(org.hibernate.sql.results.graph.FetchParent fetchParent, org.hibernate.loader.ast.internal.LoaderSqlAstCreationState creationState)