Class ReactiveOneToManyPersister

  • All Implemented Interfaces:
    org.hibernate.metadata.CollectionMetadata, org.hibernate.persister.collection.CollectionPersister, org.hibernate.persister.collection.QueryableCollection, org.hibernate.persister.collection.SQLLoadableCollection, org.hibernate.persister.entity.Joinable, org.hibernate.persister.entity.PropertyMapping, org.hibernate.persister.walking.spi.CollectionDefinition, ReactiveAbstractCollectionPersister, ReactiveCollectionPersister

    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, elementColumnIsInPrimaryKey, elementColumnIsSettable, elementColumnNames, elementColumnReaders, elementColumnReaderTemplates, elementColumnWriters, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasIdentifier, hasIndex, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsGettable, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, isInverse, keyColumnAliases, keyColumnNames, qualifiedTableName, recreateBatchKey, sqlExceptionHelper, sqlWhereString
    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected ReactiveCollectionInitializer createCollectionInitializer​(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers)  
      protected ReactiveCollectionInitializer createSubselectInitializer​(org.hibernate.engine.spi.SubselectFetch subselect, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Void> doReactiveUpdateRows​(java.io.Serializable id, org.hibernate.collection.spi.PersistentCollection collection, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      protected java.lang.String generateDeleteRowString()  
      protected java.lang.String generateDeleteString()  
      protected java.lang.String generateInsertRowString()  
      protected java.lang.String generateUpdateRowString()  
      protected ReactiveCollectionInitializer getAppropriateInitializer​(java.io.Serializable key, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getDeleteCheckStyle()  
      org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getInsertCheckStyle()  
      java.lang.String getSQLDeleteRowString()  
      java.lang.String getSQLDeleteString()  
      java.lang.String getSQLInsertRowString()  
      java.lang.String getSQLUpdateRowString()  
      boolean hasIdentifier()  
      boolean indexContainsFormula()  
      boolean isRowDeleteEnabled()  
      boolean isRowInsertEnabled()  
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveInitialize​(java.io.Serializable key, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.initialize(Serializable, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveInsertRows​(org.hibernate.collection.spi.PersistentCollection collection, java.io.Serializable id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.insertRows(PersistentCollection, Serializable, SharedSessionContractImplementor)
      java.util.concurrent.CompletionStage<java.lang.Void> recreateReactive​(org.hibernate.collection.spi.PersistentCollection collection, java.io.Serializable id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Reactive version of CollectionPersister.recreate(PersistentCollection, Serializable, SharedSessionContractImplementor)
      int writeElement​(java.sql.PreparedStatement st, java.lang.Object element, int loc, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      int writeElementToWhere​(java.sql.PreparedStatement st, java.lang.Object entry, int loc, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      int writeIndex​(java.sql.PreparedStatement st, java.lang.Object index, int loc, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      int writeIndexToWhere​(java.sql.PreparedStatement st, java.lang.Object entry, int loc, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      int writeKey​(java.sql.PreparedStatement st, java.io.Serializable id, int offset, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      • Methods inherited from class org.hibernate.persister.collection.OneToManyPersister

        consumesCollectionAlias, consumesEntityAlias, doProcessQueuedOps, doUpdateRows, filterFragment, filterFragment, fromJoinFragment, fromJoinFragment, getElementByIndex, getFilterAliasGenerator, getTableName, insertRows, isCascadeDeleteEnabled, isManyToMany, isOneToMany, recreate, selectFragment, whereJoinFragment, whereJoinFragment
      • Methods inherited from class org.hibernate.persister.collection.AbstractCollectionPersister

        appendElementColumns, appendIdentifierColumns, appendIndexColumns, createDelete, createInsert, createUpdate, decrementIndexByBase, deleteRows, determineTableName, doProcessQueuedOps, elementExists, filterFragment, filterFragment, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectFragment, generateSelectRowByIndexString, generateSelectSizeString, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionPersister, getCollectionPropertyColumnAliases, getCollectionSpaces, getCollectionType, getDeleteAllCheckStyle, getDialect, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementDefinition, getElementPersister, getElementType, getFactory, getFetchMode, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexDefinition, getIndexFormulas, getIndexType, getInitializer, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getMappedByProperty, getName, getNavigableRole, getOwnerEntityName, getOwnerEntityPersister, getRole, getSize, getSQLExceptionConverter, getSQLExceptionHelper, getSQLOrderByString, getSQLWhereString, getType, getUpdateCheckStyle, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasWhere, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, isAffectedByEnabledFilters, isArray, isCollection, isDeleteAllCallable, isDeleteCallable, isExtraLazy, isInsertCallable, isInverse, isLazy, isMutable, isPrimitiveArray, isSubselectLoadable, isUpdateCallable, isVersioned, logStaticSQL, oneToManyFilterFragment, oneToManyFilterFragment, postInstantiate, processQueuedOps, readElement, readIdentifier, readIndex, readKey, remove, selectFragment, toColumns, toColumns, toString, toType, updateRows, writeIdentifier
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.hibernate.persister.walking.spi.CollectionDefinition

        getCollectionPersister, getElementDefinition, getIndexDefinition
      • Methods inherited from interface org.hibernate.persister.collection.CollectionPersister

        deleteRows, elementExists, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionSpaces, getCollectionType, getElementByIndex, getElementClass, getElementColumnAliases, getElementType, getFactory, getIdentifierColumnAlias, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexType, getKeyColumnAliases, getKeyType, getManyToManyFilterFragment, getMappedByProperty, getNavigableRole, getOwnerEntityPersister, getRole, getSize, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, indexExists, initialize, insertRows, isAffectedByEnabledFilters, isArray, isCascadeDeleteEnabled, isExtraLazy, isInverse, isLazy, isManyToMany, isMutable, isOneToMany, isPrimitiveArray, isVersioned, postInstantiate, processQueuedOps, readElement, readIdentifier, readIndex, readKey, recreate, remove, updateRows
      • Methods inherited from interface org.hibernate.persister.entity.Joinable

        fromJoinFragment
    • Constructor Detail

      • ReactiveOneToManyPersister

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

      • reactiveInitialize

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

        protected ReactiveCollectionInitializer createCollectionInitializer​(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers)
        Overrides:
        createCollectionInitializer in class org.hibernate.persister.collection.OneToManyPersister
      • createSubselectInitializer

        protected ReactiveCollectionInitializer createSubselectInitializer​(org.hibernate.engine.spi.SubselectFetch subselect,
                                                                           org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Overrides:
        createSubselectInitializer in class org.hibernate.persister.collection.OneToManyPersister
      • getAppropriateInitializer

        protected ReactiveCollectionInitializer getAppropriateInitializer​(java.io.Serializable key,
                                                                          org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Overrides:
        getAppropriateInitializer in class org.hibernate.persister.collection.AbstractCollectionPersister
      • writeElement

        public int writeElement​(java.sql.PreparedStatement st,
                                java.lang.Object element,
                                int loc,
                                org.hibernate.engine.spi.SharedSessionContractImplementor session)
                         throws java.sql.SQLException
        Specified by:
        writeElement in interface ReactiveAbstractCollectionPersister
        Overrides:
        writeElement in class org.hibernate.persister.collection.AbstractCollectionPersister
        Throws:
        java.sql.SQLException
      • writeIndex

        public int writeIndex​(java.sql.PreparedStatement st,
                              java.lang.Object index,
                              int loc,
                              org.hibernate.engine.spi.SharedSessionContractImplementor session)
                       throws java.sql.SQLException
        Specified by:
        writeIndex in interface ReactiveAbstractCollectionPersister
        Overrides:
        writeIndex in class org.hibernate.persister.collection.AbstractCollectionPersister
        Throws:
        java.sql.SQLException
      • writeKey

        public int writeKey​(java.sql.PreparedStatement st,
                            java.io.Serializable id,
                            int offset,
                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
                     throws java.sql.SQLException
        Specified by:
        writeKey in interface ReactiveAbstractCollectionPersister
        Overrides:
        writeKey in class org.hibernate.persister.collection.AbstractCollectionPersister
        Throws:
        java.sql.SQLException
      • writeElementToWhere

        public int writeElementToWhere​(java.sql.PreparedStatement st,
                                       java.lang.Object entry,
                                       int loc,
                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
                                throws java.sql.SQLException
        Specified by:
        writeElementToWhere in interface ReactiveAbstractCollectionPersister
        Overrides:
        writeElementToWhere in class org.hibernate.persister.collection.AbstractCollectionPersister
        Throws:
        java.sql.SQLException
      • writeIndexToWhere

        public int writeIndexToWhere​(java.sql.PreparedStatement st,
                                     java.lang.Object entry,
                                     int loc,
                                     org.hibernate.engine.spi.SharedSessionContractImplementor session)
                              throws java.sql.SQLException
        Specified by:
        writeIndexToWhere in interface ReactiveAbstractCollectionPersister
        Overrides:
        writeIndexToWhere in class org.hibernate.persister.collection.AbstractCollectionPersister
        Throws:
        java.sql.SQLException
      • generateInsertRowString

        protected java.lang.String generateInsertRowString()
        Overrides:
        generateInsertRowString in class org.hibernate.persister.collection.OneToManyPersister
      • generateUpdateRowString

        protected java.lang.String generateUpdateRowString()
        Overrides:
        generateUpdateRowString in class org.hibernate.persister.collection.OneToManyPersister
      • generateDeleteRowString

        protected java.lang.String generateDeleteRowString()
        Overrides:
        generateDeleteRowString in class org.hibernate.persister.collection.OneToManyPersister
      • generateDeleteString

        protected java.lang.String generateDeleteString()
        Overrides:
        generateDeleteString in class org.hibernate.persister.collection.OneToManyPersister
      • getInsertCheckStyle

        public org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getInsertCheckStyle()
        Specified by:
        getInsertCheckStyle in interface ReactiveAbstractCollectionPersister
        Overrides:
        getInsertCheckStyle in class org.hibernate.persister.collection.AbstractCollectionPersister
      • getDeleteCheckStyle

        public org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getDeleteCheckStyle()
        Specified by:
        getDeleteCheckStyle in interface ReactiveAbstractCollectionPersister
        Overrides:
        getDeleteCheckStyle in class org.hibernate.persister.collection.AbstractCollectionPersister
      • doReactiveUpdateRows

        public java.util.concurrent.CompletionStage<java.lang.Void> doReactiveUpdateRows​(java.io.Serializable id,
                                                                                         org.hibernate.collection.spi.PersistentCollection collection,
                                                                                         org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Specified by:
        doReactiveUpdateRows in interface ReactiveAbstractCollectionPersister
        See Also:
        OneToManyPersister.doUpdateRows(Serializable, PersistentCollection, SharedSessionContractImplementor)
      • recreateReactive

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

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