Interface ReactiveEntityPersister

All Superinterfaces:
org.hibernate.persister.walking.spi.AttributeSource, org.hibernate.metamodel.mapping.Bindable, org.hibernate.metamodel.mapping.Discriminable, org.hibernate.metamodel.mapping.EntityMappingType, org.hibernate.persister.entity.mutation.EntityMutationTarget, 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.sql.model.MutationTarget<org.hibernate.persister.entity.mutation.EntityTableMapping>, org.hibernate.metamodel.mapping.Restrictable, org.hibernate.sql.ast.tree.from.RootTableGroupProducer, org.hibernate.metamodel.mapping.SoftDeletableModelPart, 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:
  • Nested Class Summary

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

    org.hibernate.metamodel.mapping.Bindable.JdbcValuesBiConsumer<X extends Object,Y extends 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 Object,Y extends Object>, org.hibernate.metamodel.mapping.ModelPart.JdbcValueConsumer
  • Field Summary

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

    ENTITY_ID
  • Method Summary

    Modifier and Type
    Method
    Description
    deleteReactive(Object id, Object version, Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    Delete the given instance without blocking.
    forceInitialize(Object target, String attributeName, Object entityId, String entityName, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    CompletionStage<org.hibernate.generator.values.GeneratedValues>
    insertReactive(Object[] fields, Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    Insert the given instance state without blocking.
    CompletionStage<org.hibernate.generator.values.GeneratedValues>
    insertReactive(Object id, Object[] fields, Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    Insert the given instance state without blocking.
    mergeReactive(Object id, Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object object, Object rowId, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    Update the given instance state without blocking.
    reactiveGetCurrentVersion(Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveGetDatabaseSnapshot(Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    Get the current database state of the object, in a "hydrated" form, without resolving identifiers
    reactiveInitializeEnhancedEntityUsedAsProxy(Object entity, String nameOfAttributeBeingAccessed, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    <E, T> CompletionStage<T>
    reactiveInitializeLazyProperty(jakarta.persistence.metamodel.Attribute<E,T> field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    <E, T> CompletionStage<T>
    reactiveInitializeLazyProperty(String field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveLoad(Object id, Object optionalObject, org.hibernate.LockMode lockMode, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveLoad(Object id, Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveLoad(Object id, Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session, Boolean readOnly)
     
    reactiveLoadByUniqueKey(String propertyName, Object uniqueKey, Boolean readOnly, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveLoadByUniqueKey(String propertyName, Object uniqueKey, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveLoadEntityIdByNaturalId(Object[] naturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveLock(Object id, Object version, Object object, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    Obtain a pessimistic lock without blocking
    <K> CompletionStage<? extends List<?>>
    reactiveMultiLoad(K[] ids, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.loader.ast.spi.MultiIdLoadOptions loadOptions)
     
    reactiveProcessInsertGenerated(Object id, Object entity, Object[] state, org.hibernate.generator.values.GeneratedValues generatedValues, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    reactiveProcessUpdateGenerated(Object id, Object entity, Object[] state, org.hibernate.generator.values.GeneratedValues generatedValues, org.hibernate.engine.spi.SharedSessionContractImplementor session)
     
    CompletionStage<org.hibernate.generator.values.GeneratedValues>
    updateReactive(Object id, Object[] values, int[] dirtyAttributeIndexes, boolean hasDirtyCollection, Object[] oldValues, Object oldVersion, Object object, 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

    Methods inherited from interface org.hibernate.metamodel.mapping.EntityMappingType

    applyBaseRestrictions, applyDiscriminator, applyFilterRestrictions, applyWhereRestrictions, asEntityMappingType, createPrimaryTableReference, createRootTableGroup, createTableReferenceJoin, extractConcreteTypeStateValues, findContainingEntityMapping, findDeclaredAttributeMapping, findSubPart, findSubTypesSubPart, forEachAttributeMapping, getAttributeMappings, getContributor, getDeclaredAttributeMappings, getDiscriminatorMapping, getDiscriminatorSQLValue, getDiscriminatorValue, getEntityPersister, getFetchable, getIdentifierMapping, getIdentifierMappingForJoin, getIdentifierTableDetails, getJavaType, getJdbcTypeCount, getMappedJavaType, getMappedSuperclass, getMappedTableDetails, getNaturalIdMapping, getNumberOfAttributeMappings, getNumberOfDeclaredAttributeMappings, getNumberOfFetchables, getPartMappingType, getPartName, getRootEntityDescriptor, getRootPathName, getRowIdMapping, getSoftDeleteMapping, getSoftDeleteTableDetails, getSubclassEntityNames, getSubclassId, getSubMappingTypes, getSuperMappingType, getVersionMapping, hasSubclasses, hasWhereRestrictions, isAbstract, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEntityGraph, isConcreteProxy, isExplicitPolymorphism, isTypeOrSuperType, isTypeOrSuperType, optimisticLockStyle, pruneForSubclasses, resolveConcreteProxyTypeForId, visitAttributeMappings, visitConstraintOrderedTables, visitDeclaredAttributeMappings, visitSubTypeAttributeMappings, visitSuperTypeAttributeMappings

    Methods inherited from interface org.hibernate.persister.entity.mutation.EntityMutationTarget

    addDiscriminatorToInsertGroup, addSoftDeleteToInsertGroup, getAttributeMutationTableName, getIdentifierDescriptor, getIdentifierTableMapping, getIdentityInsertDelegate, getInsertDelegate, getMutationDelegate, getTableMappings, getTargetPart, getUpdateDelegate, physicalTableNameForMutation

    Methods inherited from interface org.hibernate.persister.entity.EntityPersister

    addToCacheKey, afterInitialize, afterReassociate, breakDownJdbcValues, buildCacheEntry, canExtractIdOutOfEntity, canReadFromCache, canUseReferenceCacheEntries, canWriteToCache, countSubclassProperties, createProxy, delete, findDirty, findModified, forceVersionIncrement, forceVersionIncrement, getAttributeMapping, getBatchSize, getBytecodeEnhancementMetadata, getCacheAccessStrategy, getCacheEntryStructure, getConcreteProxyClass, getConstraintOrderedTableKeyColumnClosure, getCurrentVersion, getDatabaseSnapshot, getDeleteCoordinator, getDiscriminatorAlias, getDiscriminatorColumnName, getDiscriminatorDomainType, getDiscriminatorType, getEntityEntryFactory, getEntityMappingType, getEntityMetamodel, getEntityName, getFactory, getFilterAliasGenerator, getFilterAliasGenerator, getGeneratedProperties, getGenerator, getIdByUniqueKey, getIdentifier, getIdentifier, getIdentifier, getIdentifierAliases, getIdentifierColumnNames, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getIdentitySelectString, getImportedName, getInsertCoordinator, getInsertGeneratedProperties, getInstrumentationMetadata, getJpaEntityName, getKeyColumns, getMappedClass, getMergeCoordinator, getMultiNaturalIdLoader, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNaturalIdLoader, getNonLazyPropertyUpdateability, getPropertyAliases, getPropertyCascadeStyles, getPropertyCheckability, getPropertyColumnNames, getPropertyInsertability, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpaces, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRepresentationStrategy, getRootEntityName, getRootTableIdentifierColumnNames, getRootTableKeyColumnNames, getRootTableName, getSelectByUniqueKeyString, getSelectByUniqueKeyString, getSelectByUniqueKeyString, getSqlAliasStem, getSqmMultiTableInsertStrategy, getSqmMultiTableMutationStrategy, getSubclassEntityPersister, getSubclassPropertyColumnAliases, getSubclassPropertyColumnNames, getSubclassTableName, getSubclassTableSpan, getSynchronizationSpaces, getSynchronizedQuerySpaces, getTableName, getTableName, getTableNameForColumn, getTableNames, getTableSpan, getTypeDiscriminatorMetadata, getUpdateCoordinator, getUpdateGeneratedProperties, getValue, getValues, getVersion, getVersionColumnName, getVersionGenerator, getVersionJavaType, getVersionProperty, getVersionType, hasCache, hasCascadeDelete, hasCascadePersist, hasCascades, hasCollectionNotReferencingPK, hasCollections, hasDuplicateTables, hasFilterForLoadByKey, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMultipleTables, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasOwnedCollections, hasProxy, hasRowId, hasSubselectLoadableCollections, hasToOnes, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, initializeEnhancedEntityUsedAsProxy, insert, insert, instantiate, isBatchLoadable, isCacheInvalidationRequired, isIdentifierAssignedByInsert, isInherited, isInstance, isInstrumented, isInverseTable, isLazyPropertiesCacheable, isMutable, isNullableTable, isPropertySelectable, isSelectBeforeUpdateRequired, isSharedColumn, isSubclassEntityName, isTransient, isVersioned, isVersionPropertyGenerated, load, load, load, load, loadByUniqueKey, loadEntityIdByNaturalId, lock, lock, lock, lock, managesColumns, merge, multiLoad, multiLoad, postInstantiate, prepareLoaders, processInsertGeneratedProperties, processInsertGeneratedProperties, processUpdateGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, resolveAttributeIndexes, resolveDirtyAttributeIndexes, selectFragment, setIdentifier, setPropertyValue, setPropertyValues, setValue, setValues, storeDiscriminatorInShallowQueryCacheLayout, toColumns, uniqueKeyEntries, update, useShallowQueryCacheLayout, 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.FilterRestrictable

    applyFilterRestrictions

    Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer

    getJdbcMapping, getSingleJdbcMapping

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

    isAffectedByEnabledFilters, isAffectedByInfluencers, isAffectedByInfluencers, isNotAffectedByInfluencers

    Methods inherited from interface org.hibernate.metamodel.mapping.ManagedMappingType

    anyRequiresAggregateColumnWriter, findAttributeMapping, forEachAttributeMapping, hasPartitionedSelectionMapping, isAffectedByEnabledFilters

    Methods inherited from interface org.hibernate.metamodel.mapping.ModelPart

    areEqual, asAttributeMapping, asBasicValuedModelPart, 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.model.MutationTarget

    forEachMutableTable, forEachMutableTableReverse, getIdentifierTableName, getNavigableRole, getRolePath

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

    applyBaseRestrictions

    Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupProducer

    containsTableReference
  • Method Details

    • insertReactive

      CompletionStage<org.hibernate.generator.values.GeneratedValues> insertReactive(Object id, Object[] fields, Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Insert the given instance state without blocking.
      See Also:
      • EntityPersister.insert(Object, Object[], Object, SharedSessionContractImplementor)
    • insertReactive

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

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

      CompletionStage<org.hibernate.generator.values.GeneratedValues> updateReactive(Object id, Object[] values, int[] dirtyAttributeIndexes, boolean hasDirtyCollection, Object[] oldValues, Object oldVersion, Object object, 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)
    • mergeReactive

      CompletionStage<Void> mergeReactive(Object id, Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object object, Object rowId, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Update the given instance state without blocking.
      See Also:
      • EntityPersister.merge(Object, Object[], int[], boolean, Object[], Object, Object, Object, SharedSessionContractImplementor)
    • reactiveLock

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

      <K> CompletionStage<? extends List<?>> reactiveMultiLoad(K[] ids, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.loader.ast.spi.MultiIdLoadOptions loadOptions)
    • reactiveLoad

      CompletionStage<?> reactiveLoad(Object id, Object optionalObject, org.hibernate.LockMode lockMode, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveLoad

      CompletionStage<?> reactiveLoad(Object id, Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveLoad

      CompletionStage<?> reactiveLoad(Object id, Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session, Boolean readOnly)
    • reactiveLoadByUniqueKey

      CompletionStage<?> reactiveLoadByUniqueKey(String propertyName, Object uniqueKey, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveLoadByUniqueKey

      CompletionStage<?> reactiveLoadByUniqueKey(String propertyName, Object uniqueKey, Boolean readOnly, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveLoadEntityIdByNaturalId

      CompletionStage<?> reactiveLoadEntityIdByNaturalId(Object[] naturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveGetCurrentVersion

      CompletionStage<Object> reactiveGetCurrentVersion(Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveProcessInsertGenerated

      CompletionStage<Void> reactiveProcessInsertGenerated(Object id, Object entity, Object[] state, org.hibernate.generator.values.GeneratedValues generatedValues, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      See Also:
      • EntityPersister.processInsertGeneratedProperties(Object, Object, Object[], SharedSessionContractImplementor)
    • reactiveProcessUpdateGenerated

      CompletionStage<Void> reactiveProcessUpdateGenerated(Object id, Object entity, Object[] state, org.hibernate.generator.values.GeneratedValues generatedValues, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      See Also:
      • EntityPersister.processUpdateGeneratedProperties(Object, Object, Object[], SharedSessionContractImplementor)
    • reactiveGetDatabaseSnapshot

      CompletionStage<Object[]> reactiveGetDatabaseSnapshot(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> CompletionStage<T> reactiveInitializeLazyProperty(jakarta.persistence.metamodel.Attribute<E,T> field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)
    • reactiveInitializeLazyProperty

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

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

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