Class ReactiveOneToManyPersister

  • All Implemented Interfaces:
    org.hibernate.engine.profile.internal.FetchProfileAffectee, org.hibernate.metadata.CollectionMetadata, org.hibernate.metamodel.mapping.FilterRestrictable, org.hibernate.metamodel.mapping.internal.PluralAttributeMappingImpl.Aware, org.hibernate.metamodel.mapping.Restrictable, org.hibernate.metamodel.mapping.WhereRestrictable, org.hibernate.persister.collection.CollectionPersister, org.hibernate.persister.collection.DeprecatedCollectionStuff, org.hibernate.persister.collection.mutation.CollectionMutationTarget, org.hibernate.persister.collection.QueryableCollection, org.hibernate.persister.collection.SQLLoadableCollection, org.hibernate.persister.entity.Joinable, org.hibernate.persister.entity.PropertyMapping, ReactiveAbstractCollectionPersister, ReactiveCollectionPersister, org.hibernate.sql.model.MutationTarget<org.hibernate.persister.collection.mutation.CollectionTableMapping>

    public class ReactiveOneToManyPersister
    extends org.hibernate.persister.collection.OneToManyPersister
    implements ReactiveAbstractCollectionPersister
    A reactive OneToManyPersister
    • Field Summary

      • Fields inherited from class org.hibernate.persister.collection.AbstractCollectionPersister

        batchSize, elementColumnAliases, elementColumnIsGettable, elementColumnIsSettable, elementColumnNames, elementColumnReaders, elementColumnReaderTemplates, elementColumnWriters, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsGettable, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, isInverse, keyColumnAliases, keyColumnNames, qualifiedTableName, sqlExceptionHelper, sqlWhereString
    • Constructor Summary

      Constructors 
      Constructor Description
      ReactiveOneToManyPersister​(org.hibernate.mapping.Collection collectionBinding, org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy, org.hibernate.metamodel.spi.RuntimeModelCreationContext creationContext)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.hibernate.loader.ast.spi.CollectionLoader createCollectionLoader​(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers)  
      protected org.hibernate.loader.ast.spi.CollectionLoader createSubSelectLoader​(org.hibernate.engine.spi.SubselectFetch subselect, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      ReactiveDeleteRowsCoordinator getDeleteRowsCoordinator()  
      ReactiveInsertRowsCoordinator getInsertRowsCoordinator()  
      ReactiveRemoveCoordinator getRemoveCoordinator()  
      ReactiveUpdateRowsCoordinator getUpdateRowsCoordinator()  
      boolean isAffectedByEnabledFetchProfiles​(org.hibernate.engine.spi.LoadQueryInfluencers influencers)  
      boolean isRowDeleteEnabled()  
      boolean isRowInsertEnabled()  
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveDeleteRows​(org.hibernate.collection.spi.PersistentCollection<?> collection, java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.deleteRows(PersistentCollection, Object, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveInitialize​(java.lang.Object key, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.initialize(Object, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveInsertRows​(org.hibernate.collection.spi.PersistentCollection<?> collection, java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.insertRows(PersistentCollection, Object, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveRecreate​(org.hibernate.collection.spi.PersistentCollection collection, java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.recreate(PersistentCollection, Object, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveRemove​(java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.remove(Object, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveUpdateRows​(org.hibernate.collection.spi.PersistentCollection<?> collection, java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.updateRows(PersistentCollection, Object, SharedSessionContractImplementor)
      • Methods inherited from class org.hibernate.persister.collection.OneToManyPersister

        applyWhereFragments, consumesCollectionAlias, consumesEntityAlias, deleteRows, doProcessQueuedOps, generateDeleteAllAst, generateDeleteRowAst, getFilterAliasGenerator, getFilterAliasGenerator, getRowMutationOperations, getTableName, insertRows, isCascadeDeleteEnabled, isManyToMany, isOneToMany, recreate, updateRows
      • Methods inherited from class org.hibernate.persister.collection.AbstractCollectionPersister

        applyBaseManyToManyRestrictions, applyBaseRestrictions, applyFilterRestrictions, applyWhereRestrictions, buildDeleteAllOperation, decrementIndexByBase, determineLoaderToUse, determineTableName, elementExists, forEachMutableTable, forEachMutableTableReverse, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectSizeString, getAttributeMapping, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionPropertyColumnAliases, getCollectionSemantics, getCollectionSpaces, getCollectionTableMapping, getCollectionType, getDialect, getElementByIndex, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementPersister, getElementPersisterInternal, getElementType, getFactory, getFetchMode, getGenerator, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierTableName, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexFormulas, getIndexType, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getMappedByProperty, getName, getNavigableRole, getOwnerEntityName, getOwnerEntityPersister, getSize, getSortingComparator, getSQLExceptionHelper, getSQLOrderByString, getStandardCollectionLoader, getTargetPart, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasPhysicalIndexColumn, hasWhere, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, injectAttributeMapping, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEntityGraph, isArray, isCollection, isExtraLazy, isInverse, isLazy, isMutable, isPrimitiveArray, isSubselectLoadable, isVersioned, logStaticSQL, needsRemove, postInstantiate, processQueuedOps, registerAffectingFetchProfile, remove, selectFragment, toColumns, toString, toType
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.hibernate.persister.collection.mutation.CollectionMutationTarget

        getIdentifierTableMapping
      • Methods inherited from interface org.hibernate.persister.collection.CollectionPersister

        applyBaseManyToManyRestrictions, elementExists, getAttributeMapping, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionSemantics, getCollectionSpaces, getCollectionType, getElementByIndex, getElementClass, getElementColumnAliases, getElementType, getFactory, getGenerator, getIdentifierColumnAlias, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexType, getKeyColumnAliases, getKeyType, getManyToManyFilterFragment, getMappedByProperty, getNavigableRole, getOwnerEntityPersister, getSize, getSortingComparator, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, indexExists, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEntityGraph, isArray, isCascadeDeleteEnabled, isExtraLazy, isInverse, isLazy, isManyToMany, isMutable, isOneToMany, isPrimitiveArray, isVersioned, needsRemove, postInstantiate, processQueuedOps, recreate
      • Methods inherited from interface org.hibernate.persister.collection.DeprecatedCollectionStuff

        getRole
      • Methods inherited from interface org.hibernate.metamodel.mapping.FilterRestrictable

        applyFilterRestrictions
      • Methods inherited from interface org.hibernate.sql.model.MutationTarget

        getRolePath
      • Methods inherited from interface org.hibernate.metamodel.mapping.Restrictable

        applyBaseRestrictions
      • Methods inherited from interface org.hibernate.metamodel.mapping.WhereRestrictable

        applyWhereRestrictions
    • Constructor Detail

      • ReactiveOneToManyPersister

        public ReactiveOneToManyPersister​(org.hibernate.mapping.Collection collectionBinding,
                                          org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy,
                                          org.hibernate.metamodel.spi.RuntimeModelCreationContext creationContext)
                                   throws org.hibernate.MappingException,
                                          org.hibernate.cache.CacheException
        Throws:
        org.hibernate.MappingException
        org.hibernate.cache.CacheException
    • Method Detail

      • getInsertRowsCoordinator

        public ReactiveInsertRowsCoordinator getInsertRowsCoordinator()
        Overrides:
        getInsertRowsCoordinator in class org.hibernate.persister.collection.OneToManyPersister
      • getUpdateRowsCoordinator

        public ReactiveUpdateRowsCoordinator getUpdateRowsCoordinator()
        Overrides:
        getUpdateRowsCoordinator in class org.hibernate.persister.collection.OneToManyPersister
      • getDeleteRowsCoordinator

        public ReactiveDeleteRowsCoordinator getDeleteRowsCoordinator()
        Overrides:
        getDeleteRowsCoordinator in class org.hibernate.persister.collection.OneToManyPersister
      • getRemoveCoordinator

        public ReactiveRemoveCoordinator getRemoveCoordinator()
        Overrides:
        getRemoveCoordinator in class org.hibernate.persister.collection.OneToManyPersister
      • createCollectionLoader

        protected org.hibernate.loader.ast.spi.CollectionLoader createCollectionLoader​(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers)
        Overrides:
        createCollectionLoader in class org.hibernate.persister.collection.AbstractCollectionPersister
      • isAffectedByEnabledFetchProfiles

        public boolean isAffectedByEnabledFetchProfiles​(org.hibernate.engine.spi.LoadQueryInfluencers influencers)
        Specified by:
        isAffectedByEnabledFetchProfiles in interface org.hibernate.persister.collection.CollectionPersister
        Overrides:
        isAffectedByEnabledFetchProfiles in class org.hibernate.persister.collection.AbstractCollectionPersister
      • createSubSelectLoader

        protected org.hibernate.loader.ast.spi.CollectionLoader createSubSelectLoader​(org.hibernate.engine.spi.SubselectFetch subselect,
                                                                                      org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Overrides:
        createSubSelectLoader in class org.hibernate.persister.collection.AbstractCollectionPersister
      • reactiveInitialize

        public java.util.concurrent.CompletionStage<java.lang.Void> reactiveInitialize​(java.lang.Object key,
                                                                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Description copied from interface: ReactiveCollectionPersister
        Reactive version of CollectionPersister.initialize(Object, SharedSessionContractImplementor)
        Specified by:
        reactiveInitialize in interface ReactiveCollectionPersister
      • reactiveRecreate

        public java.util.concurrent.CompletionStage<java.lang.Void> reactiveRecreate​(org.hibernate.collection.spi.PersistentCollection collection,
                                                                                     java.lang.Object id,
                                                                                     org.hibernate.engine.spi.SharedSessionContractImplementor session)
                                                                              throws org.hibernate.HibernateException
        Description copied from interface: ReactiveCollectionPersister
        Reactive version of CollectionPersister.recreate(PersistentCollection, Object, SharedSessionContractImplementor)
        Specified by:
        reactiveRecreate in interface ReactiveAbstractCollectionPersister
        Specified by:
        reactiveRecreate in interface ReactiveCollectionPersister
        Throws:
        org.hibernate.HibernateException
        See Also:
        OneToManyPersister.recreate(PersistentCollection, Object, SharedSessionContractImplementor)
      • reactiveInsertRows

        public java.util.concurrent.CompletionStage<java.lang.Void> reactiveInsertRows​(org.hibernate.collection.spi.PersistentCollection<?> collection,
                                                                                       java.lang.Object id,
                                                                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
                                                                                throws org.hibernate.HibernateException
        Description copied from interface: ReactiveCollectionPersister
        Reactive version of CollectionPersister.insertRows(PersistentCollection, Object, SharedSessionContractImplementor)
        Specified by:
        reactiveInsertRows in interface ReactiveAbstractCollectionPersister
        Specified by:
        reactiveInsertRows in interface ReactiveCollectionPersister
        Throws:
        org.hibernate.HibernateException
        See Also:
        OneToManyPersister.insertRows(PersistentCollection, Object, SharedSessionContractImplementor)
      • reactiveUpdateRows

        public java.util.concurrent.CompletionStage<java.lang.Void> reactiveUpdateRows​(org.hibernate.collection.spi.PersistentCollection<?> collection,
                                                                                       java.lang.Object id,
                                                                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Description copied from interface: ReactiveCollectionPersister
        Reactive version of CollectionPersister.updateRows(PersistentCollection, Object, SharedSessionContractImplementor)
        Specified by:
        reactiveUpdateRows in interface ReactiveAbstractCollectionPersister
        Specified by:
        reactiveUpdateRows in interface ReactiveCollectionPersister
        See Also:
        OneToManyPersister.updateRows(PersistentCollection, Object, SharedSessionContractImplementor)
      • reactiveDeleteRows

        public java.util.concurrent.CompletionStage<java.lang.Void> reactiveDeleteRows​(org.hibernate.collection.spi.PersistentCollection<?> collection,
                                                                                       java.lang.Object id,
                                                                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Description copied from interface: ReactiveCollectionPersister
        Reactive version of CollectionPersister.deleteRows(PersistentCollection, Object, SharedSessionContractImplementor)
        Specified by:
        reactiveDeleteRows in interface ReactiveAbstractCollectionPersister
        Specified by:
        reactiveDeleteRows in interface ReactiveCollectionPersister
        See Also:
        OneToManyPersister.deleteRows(PersistentCollection, Object, SharedSessionContractImplementor)