Interface ReactiveEntityPersister

  • All Superinterfaces:
    org.hibernate.persister.walking.spi.AttributeSource, org.hibernate.metamodel.mapping.Bindable, org.hibernate.metamodel.mapping.Discriminatable, org.hibernate.metamodel.mapping.EntityMappingType, org.hibernate.persister.entity.EntityPersister, org.hibernate.metamodel.mapping.EntityValuedModelPart, org.hibernate.sql.results.graph.FetchableContainer, org.hibernate.metamodel.mapping.FilterRestrictable, org.hibernate.metamodel.mapping.JdbcMappingContainer, org.hibernate.loader.ast.spi.Loadable, org.hibernate.metamodel.mapping.ManagedMappingType, org.hibernate.metamodel.mapping.MappingModelExpressible, org.hibernate.metamodel.mapping.MappingType, org.hibernate.metamodel.mapping.ModelPart, org.hibernate.metamodel.mapping.ModelPartContainer, org.hibernate.metamodel.mapping.Restrictable, org.hibernate.sql.ast.tree.from.RootTableGroupProducer, org.hibernate.sql.ast.tree.from.TableGroupProducer, org.hibernate.metamodel.mapping.WhereRestrictable
    All Known Subinterfaces:
    ReactiveAbstractEntityPersister
    All Known Implementing Classes:
    ReactiveJoinedSubclassEntityPersister, ReactiveSingleTableEntityPersister, ReactiveUnionSubclassEntityPersister

    public interface ReactiveEntityPersister
    extends org.hibernate.persister.entity.EntityPersister
    A reactive EntityPersister. Supports non-blocking insert/update/delete operations.
    See Also:
    ReactiveAbstractEntityPersister
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable

        org.hibernate.metamodel.mapping.Bindable.JdbcValuesBiConsumer<X extends java.lang.Object,​Y extends java.lang.Object>, org.hibernate.metamodel.mapping.Bindable.JdbcValuesConsumer
      • Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.EntityMappingType

        org.hibernate.metamodel.mapping.EntityMappingType.ConstraintOrderedTableConsumer
      • Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.ModelPart

        org.hibernate.metamodel.mapping.ModelPart.JdbcValueBiConsumer<X extends java.lang.Object,​Y extends java.lang.Object>, org.hibernate.metamodel.mapping.ModelPart.JdbcValueConsumer
    • Field Summary

      • Fields inherited from interface org.hibernate.persister.entity.EntityPersister

        ENTITY_ID
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletionStage<java.lang.Void> deleteReactive​(java.lang.Object id, java.lang.Object version, java.lang.Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Delete the given instance without blocking.
      static java.util.concurrent.CompletionStage<java.lang.Object> forceInitialize​(java.lang.Object target, java.lang.String attributeName, java.lang.Object entityId, java.lang.String entityName, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> insertReactive​(java.lang.Object[] fields, java.lang.Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Insert the given instance state without blocking.
      java.util.concurrent.CompletionStage<java.lang.Void> insertReactive​(java.lang.Object id, java.lang.Object[] fields, java.lang.Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Insert the given instance state without blocking.
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveGetCurrentVersion​(java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object[]> reactiveGetDatabaseSnapshot​(java.lang.Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Get the current database state of the object, in a "hydrated" form, without resolving identifiers
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveInitializeEnhancedEntityUsedAsProxy​(java.lang.Object entity, java.lang.String nameOfAttributeBeingAccessed, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      <E,​T>
      java.util.concurrent.CompletionStage<T>
      reactiveInitializeLazyProperty​(jakarta.persistence.metamodel.Attribute<E,​T> field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      <E,​T>
      java.util.concurrent.CompletionStage<T>
      reactiveInitializeLazyProperty​(java.lang.String field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad​(java.lang.Object id, java.lang.Object optionalObject, org.hibernate.LockMode lockMode, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad​(java.lang.Object id, java.lang.Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad​(java.lang.Object id, java.lang.Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session, java.lang.Boolean readOnly)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadByUniqueKey​(java.lang.String propertyName, java.lang.Object uniqueKey, java.lang.Boolean readOnly, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadByUniqueKey​(java.lang.String propertyName, java.lang.Object uniqueKey, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadEntityIdByNaturalId​(java.lang.Object[] naturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveLock​(java.lang.Object id, java.lang.Object version, java.lang.Object object, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Obtain a pessimistic lock without blocking
      <K> java.util.concurrent.CompletionStage<? extends java.util.List<?>> reactiveMultiLoad​(K[] ids, org.hibernate.event.spi.EventSource session, org.hibernate.loader.ast.spi.MultiIdLoadOptions loadOptions)  
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveProcessInsertGenerated​(java.lang.Object id, java.lang.Object entity, java.lang.Object[] state, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Void> reactiveProcessUpdateGenerated​(java.lang.Object id, java.lang.Object entity, java.lang.Object[] state, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.util.concurrent.CompletionStage<java.lang.Void> updateReactive​(java.lang.Object id, java.lang.Object[] values, int[] dirtyAttributeIndexes, boolean hasDirtyCollection, java.lang.Object[] oldValues, java.lang.Object oldVersion, java.lang.Object object, java.lang.Object rowId, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Update the given instance state without blocking.
      • Methods inherited from interface org.hibernate.persister.walking.spi.AttributeSource

        getPropertyIndex
      • Methods inherited from interface org.hibernate.metamodel.mapping.Bindable

        forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, getJdbcMappings
      • Methods inherited from interface org.hibernate.metamodel.mapping.EntityMappingType

        applyBaseRestrictions, applyDiscriminator, applyFilterRestrictions, applyWhereRestrictions, createPrimaryTableReference, createRootTableGroup, createTableReferenceJoin, extractConcreteTypeStateValues, findContainingEntityMapping, findDeclaredAttributeMapping, findSubPart, findSubTypesSubPart, forEachAttributeMapping, getAttributeMappings, getContributor, getDeclaredAttributeMappings, getDiscriminatorMapping, getDiscriminatorSQLValue, getDiscriminatorValue, getEntityPersister, getFetchable, getIdentifierMapping, getIdentifierTableDetails, getJavaType, getJdbcTypeCount, getMappedJavaType, getMappedSuperclass, getMappedTableDetails, getNaturalIdMapping, getNumberOfAttributeMappings, getNumberOfDeclaredAttributeMappings, getNumberOfFetchables, getPartMappingType, getPartName, getRootEntityDescriptor, getRootPathName, getRowIdMapping, getSubclassEntityNames, getSubclassId, getSubMappingTypes, getSuperMappingType, getVersionMapping, hasSubclasses, isAbstract, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEntityGraph, isExplicitPolymorphism, isTypeOrSuperType, isTypeOrSuperType, optimisticLockStyle, pruneForSubclasses, pruneForSubclasses, visitAttributeMappings, visitConstraintOrderedTables, visitDeclaredAttributeMappings, visitSubTypeAttributeMappings, visitSuperTypeAttributeMappings
      • Methods inherited from interface org.hibernate.persister.entity.EntityPersister

        addToCacheKey, afterInitialize, afterReassociate, breakDownJdbcValues, buildCacheEntry, canExtractIdOutOfEntity, canReadFromCache, canUseReferenceCacheEntries, canWriteToCache, createProxy, delete, findDirty, findModified, forceVersionIncrement, getAttributeMapping, getBytecodeEnhancementMetadata, getCacheAccessStrategy, getCacheEntryStructure, getClassMetadata, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getEntityEntryFactory, getEntityMappingType, getEntityMetamodel, getEntityName, getFactory, getFilterAliasGenerator, getFilterAliasGenerator, getGenerator, getIdByUniqueKey, getIdentifier, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getInstrumentationMetadata, getMappedClass, getMultiNaturalIdLoader, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNaturalIdLoader, getPropertyCascadeStyles, getPropertyCheckability, getPropertyInsertability, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpaces, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRepresentationStrategy, getRootEntityName, getSqlAliasStem, getSqmMultiTableInsertStrategy, getSqmMultiTableMutationStrategy, getSubclassEntityPersister, getSynchronizationSpaces, getSynchronizedQuerySpaces, getValue, getValues, getVersion, getVersionGenerator, getVersionJavaType, getVersionProperty, getVersionType, hasCache, hasCascadeDelete, hasCascades, hasCollectionNotReferencingPK, hasCollections, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasOwnedCollections, hasProxy, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, implementsLifecycle, initializeEnhancedEntityUsedAsProxy, insert, insert, instantiate, isBatchLoadable, isCacheInvalidationRequired, isIdentifierAssignedByInsert, isInherited, isInstance, isInstrumented, isLazyPropertiesCacheable, isMutable, isPropertySelectable, isSelectBeforeUpdateRequired, isSubclassEntityName, isTransient, isVersioned, isVersionPropertyGenerated, load, load, load, load, loadByUniqueKey, loadEntityIdByNaturalId, lock, lock, multiLoad, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, resolveAttributeIndexes, resolveDirtyAttributeIndexes, setIdentifier, setPropertyValue, setPropertyValues, setValue, setValues, update, visitQuerySpaces
      • Methods inherited from interface org.hibernate.metamodel.mapping.EntityValuedModelPart

        applySqlSelections, applySqlSelections, createDomainResult, disassemble, findSubPart, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachSubPart, visitSubParts
      • Methods inherited from interface org.hibernate.sql.results.graph.FetchableContainer

        getKeyFetchable, getNumberOfFetchableKeys, getNumberOfKeyFetchables, getSelectableIndex, visitFetchables, visitFetchables, visitFetchables, visitKeyFetchables, visitKeyFetchables, visitKeyFetchables
      • Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer

        getJdbcMapping, getSingleJdbcMapping
      • Methods inherited from interface org.hibernate.loader.ast.spi.Loadable

        isAffectedByInfluencers, isNotAffectedByInfluencers
      • Methods inherited from interface org.hibernate.metamodel.mapping.ManagedMappingType

        anyRequiresAggregateColumnWriter, findAttributeMapping, forEachAttributeMapping, hasPartitionedSelectionMapping
      • Methods inherited from interface org.hibernate.metamodel.mapping.ModelPart

        areEqual, asAttributeMapping, breakDownJdbcValues, decompose, decompose, forEachSelectable, forEachSelectable, getNavigableRole, isEntityIdentifierMapping, isVirtual
      • Methods inherited from interface org.hibernate.metamodel.mapping.ModelPartContainer

        findByPath, findByPath, forEachSubPart
      • Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupProducer

        containsTableReference
    • Method Detail

      • insertReactive

        java.util.concurrent.CompletionStage<java.lang.Void> insertReactive​(java.lang.Object id,
                                                                            java.lang.Object[] fields,
                                                                            java.lang.Object object,
                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Insert the given instance state without blocking.
        See Also:
        EntityPersister.insert(Object, Object[], Object, SharedSessionContractImplementor)
      • insertReactive

        java.util.concurrent.CompletionStage<java.lang.Object> insertReactive​(java.lang.Object[] fields,
                                                                              java.lang.Object object,
                                                                              org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Insert the given instance state without blocking.
        See Also:
        EntityPersister.insert(Object[], Object, SharedSessionContractImplementor)
      • deleteReactive

        java.util.concurrent.CompletionStage<java.lang.Void> deleteReactive​(java.lang.Object id,
                                                                            java.lang.Object version,
                                                                            java.lang.Object object,
                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Delete the given instance without blocking.
        See Also:
        EntityPersister.delete(Object, Object, Object, SharedSessionContractImplementor)
      • updateReactive

        java.util.concurrent.CompletionStage<java.lang.Void> updateReactive​(java.lang.Object id,
                                                                            java.lang.Object[] values,
                                                                            int[] dirtyAttributeIndexes,
                                                                            boolean hasDirtyCollection,
                                                                            java.lang.Object[] oldValues,
                                                                            java.lang.Object oldVersion,
                                                                            java.lang.Object object,
                                                                            java.lang.Object rowId,
                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Update the given instance state without blocking.
        See Also:
        EntityPersister.update(Object, Object[], int[], boolean, Object[], Object, Object, Object, SharedSessionContractImplementor)
      • reactiveLock

        java.util.concurrent.CompletionStage<java.lang.Void> reactiveLock​(java.lang.Object id,
                                                                          java.lang.Object version,
                                                                          java.lang.Object object,
                                                                          org.hibernate.LockOptions lockOptions,
                                                                          org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Obtain a pessimistic lock without blocking
      • reactiveMultiLoad

        <K> java.util.concurrent.CompletionStage<? extends java.util.List<?>> reactiveMultiLoad​(K[] ids,
                                                                                                org.hibernate.event.spi.EventSource session,
                                                                                                org.hibernate.loader.ast.spi.MultiIdLoadOptions loadOptions)
      • reactiveLoad

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad​(java.lang.Object id,
                                                                            java.lang.Object optionalObject,
                                                                            org.hibernate.LockMode lockMode,
                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveLoad

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad​(java.lang.Object id,
                                                                            java.lang.Object optionalObject,
                                                                            org.hibernate.LockOptions lockOptions,
                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveLoad

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad​(java.lang.Object id,
                                                                            java.lang.Object optionalObject,
                                                                            org.hibernate.LockOptions lockOptions,
                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session,
                                                                            java.lang.Boolean readOnly)
      • reactiveLoadByUniqueKey

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadByUniqueKey​(java.lang.String propertyName,
                                                                                       java.lang.Object uniqueKey,
                                                                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveLoadByUniqueKey

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadByUniqueKey​(java.lang.String propertyName,
                                                                                       java.lang.Object uniqueKey,
                                                                                       java.lang.Boolean readOnly,
                                                                                       org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveLoadEntityIdByNaturalId

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadEntityIdByNaturalId​(java.lang.Object[] naturalIdValues,
                                                                                               org.hibernate.LockOptions lockOptions,
                                                                                               org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveGetCurrentVersion

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveGetCurrentVersion​(java.lang.Object id,
                                                                                         org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveProcessInsertGenerated

        java.util.concurrent.CompletionStage<java.lang.Void> reactiveProcessInsertGenerated​(java.lang.Object id,
                                                                                            java.lang.Object entity,
                                                                                            java.lang.Object[] state,
                                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
        See Also:
        EntityPersister.processInsertGeneratedProperties(Object, Object, Object[], SharedSessionContractImplementor)
      • reactiveProcessUpdateGenerated

        java.util.concurrent.CompletionStage<java.lang.Void> reactiveProcessUpdateGenerated​(java.lang.Object id,
                                                                                            java.lang.Object entity,
                                                                                            java.lang.Object[] state,
                                                                                            org.hibernate.engine.spi.SharedSessionContractImplementor session)
        See Also:
        EntityPersister.processUpdateGeneratedProperties(Object, Object, Object[], SharedSessionContractImplementor)
      • reactiveGetDatabaseSnapshot

        java.util.concurrent.CompletionStage<java.lang.Object[]> reactiveGetDatabaseSnapshot​(java.lang.Object id,
                                                                                             org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Get the current database state of the object, in a "hydrated" form, without resolving identifiers
        Returns:
        null if there is no row in the database
      • reactiveInitializeLazyProperty

        <E,​T> java.util.concurrent.CompletionStage<T> reactiveInitializeLazyProperty​(jakarta.persistence.metamodel.Attribute<E,​T> field,
                                                                                           E entity,
                                                                                           org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveInitializeLazyProperty

        <E,​T> java.util.concurrent.CompletionStage<T> reactiveInitializeLazyProperty​(java.lang.String field,
                                                                                           E entity,
                                                                                           org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • reactiveInitializeEnhancedEntityUsedAsProxy

        java.util.concurrent.CompletionStage<java.lang.Object> reactiveInitializeEnhancedEntityUsedAsProxy​(java.lang.Object entity,
                                                                                                           java.lang.String nameOfAttributeBeingAccessed,
                                                                                                           org.hibernate.engine.spi.SharedSessionContractImplementor session)
      • forceInitialize

        static java.util.concurrent.CompletionStage<java.lang.Object> forceInitialize​(java.lang.Object target,
                                                                                      java.lang.String attributeName,
                                                                                      java.lang.Object entityId,
                                                                                      java.lang.String entityName,
                                                                                      org.hibernate.engine.spi.SharedSessionContractImplementor session)
        See Also:
        EnhancementAsProxyLazinessInterceptor.forceInitialize(Object, String, SharedSessionContractImplementor, boolean)