Class 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<java.util.concurrent.CompletionStage<T>>, ReactiveNaturalIdLoader<T>

    public abstract class ReactiveNaturalIdLoaderDelegate<T>
    extends org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<java.util.concurrent.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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletionStage<T> load​(java.lang.Object naturalIdValue, org.hibernate.loader.ast.spi.NaturalIdLoadOptions options, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveSelectByNaturalId​(java.lang.Object bindValue, org.hibernate.loader.ast.spi.NaturalIdLoadOptions options, java.util.function.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, java.util.function.Function<java.lang.Boolean,​java.lang.Long> statementStartHandler, java.util.function.BiConsumer<java.lang.Object,​java.lang.Long> statementCompletionHandler, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> resolveIdToNaturalId​(java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> resolveNaturalIdToId​(java.lang.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, getLoadable, naturalIdMapping, resolveColumnReference, selectByNaturalId
      • 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 Detail

      • ReactiveNaturalIdLoaderDelegate

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

      • load

        public java.util.concurrent.CompletionStage<T> load​(java.lang.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<java.util.concurrent.CompletionStage<T>>
      • resolveNaturalIdToId

        public java.util.concurrent.CompletionStage<java.lang.Object> resolveNaturalIdToId​(java.lang.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<java.util.concurrent.CompletionStage<T>>
      • resolveIdToNaturalId

        public java.util.concurrent.CompletionStage<java.lang.Object> resolveIdToNaturalId​(java.lang.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<java.util.concurrent.CompletionStage<T>>
      • reactiveSelectByNaturalId

        public java.util.concurrent.CompletionStage<java.lang.Object> reactiveSelectByNaturalId​(java.lang.Object bindValue,
                                                                                                org.hibernate.loader.ast.spi.NaturalIdLoadOptions options,
                                                                                                java.util.function.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,
                                                                                                java.util.function.Function<java.lang.Boolean,​java.lang.Long> statementStartHandler,
                                                                                                java.util.function.BiConsumer<java.lang.Object,​java.lang.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)