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 reactiveEntityPersister
. 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
-
-
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 identifiersjava.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
-
-
-
-
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)
-
-