Interface ReactiveEntityPersister
-
- All Superinterfaces:
org.hibernate.persister.walking.spi.AttributeSource
,org.hibernate.persister.walking.spi.EntityDefinition
,org.hibernate.persister.entity.EntityPersister
- 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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.util.concurrent.CompletionStage<java.lang.Void>
deleteReactive(java.io.Serializable id, java.lang.Object version, java.lang.Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)
Delete the given instance without blocking.ReactiveUniqueEntityLoader
getAppropriateLoader(org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
ReactiveUniqueEntityLoader
getAppropriateUniqueKeyLoader(java.lang.String propertyName, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.lang.Void>
insertReactive(java.io.Serializable 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.io.Serializable>
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>
lockReactive(java.io.Serializable id, java.lang.Object version, java.lang.Object object, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
Obtain a pessimistic lock without blockingjava.util.concurrent.CompletionStage<java.lang.Object>
reactiveGetCurrentVersion(java.io.Serializable id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.lang.Object[]>
reactiveGetDatabaseSnapshot(java.io.Serializable id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
Get the current database state of the object, in a "hydrated" form, without resolving identifiersdefault <E,T>
java.util.concurrent.CompletionStage<T>reactiveInitializeLazyProperty(javax.persistence.metamodel.Attribute<E,T> field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.lang.Object>
reactiveLoad(java.io.Serializable id, java.lang.Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.lang.Object>
reactiveLoad(java.io.Serializable 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, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.io.Serializable>
reactiveLoadEntityIdByNaturalId(java.lang.Object[] orderedNaturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.event.spi.EventSource session)
java.util.concurrent.CompletionStage<java.util.List<java.lang.Object>>
reactiveMultiLoad(java.io.Serializable[] ids, org.hibernate.engine.spi.SessionImplementor session, org.hibernate.persister.entity.MultiLoadOptions loadOptions)
java.util.concurrent.CompletionStage<java.lang.Void>
reactiveProcessInsertGenerated(java.io.Serializable id, java.lang.Object entity, java.lang.Object[] state, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.lang.Void>
reactiveProcessUpdateGenerated(java.io.Serializable id, java.lang.Object entity, java.lang.Object[] state, org.hibernate.engine.spi.SharedSessionContractImplementor session)
java.util.concurrent.CompletionStage<java.lang.Void>
updateReactive(java.io.Serializable id, java.lang.Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, java.lang.Object[] oldFields, 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.EntityDefinition
getEntityKeyDefinition, getEntityPersister
-
Methods inherited from interface org.hibernate.persister.entity.EntityPersister
afterInitialize, afterReassociate, buildCacheEntry, canExtractIdOutOfEntity, canIdentityInsertBeDelayed, canReadFromCache, canUseReferenceCacheEntries, canWriteToCache, createProxy, delete, findDirty, findModified, forceVersionIncrement, generateEntityDefinition, getBytecodeEnhancementMetadata, getCacheAccessStrategy, getCacheEntryStructure, getClassMetadata, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getEntityEntryFactory, getEntityMetamodel, getEntityMode, getEntityName, getEntityTuplizer, getFactory, getFilterAliasGenerator, getIdByUniqueKey, getIdentifier, getIdentifier, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getInstrumentationMetadata, getMappedClass, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNavigableRole, getPropertyCascadeStyles, getPropertyCheckability, getPropertyInsertability, getPropertyInsertGenerationInclusions, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpaces, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyUpdateGenerationInclusions, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRootEntityName, getSubclassEntityPersister, getVersion, getVersionProperty, getVersionType, hasCache, hasCascades, hasCollections, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasProxy, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, implementsLifecycle, initializeEnhancedEntityUsedAsProxy, insert, insert, instantiate, isBatchLoadable, isCacheInvalidationRequired, isIdentifierAssignedByInsert, isInherited, isInstance, isInstrumented, isLazyPropertiesCacheable, isMutable, isSelectBeforeUpdateRequired, isSubclassEntityName, isTransient, isVersioned, isVersionPropertyGenerated, load, load, load, load, loadEntityIdByNaturalId, lock, lock, multiLoad, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, resolveAttributeIndexes, resolveDirtyAttributeIndexes, setIdentifier, setPropertyValue, setPropertyValues, update
-
-
-
-
Method Detail
-
insertReactive
java.util.concurrent.CompletionStage<java.lang.Void> insertReactive(java.io.Serializable 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(Serializable, Object[], Object, SharedSessionContractImplementor)
-
insertReactive
java.util.concurrent.CompletionStage<java.io.Serializable> 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.io.Serializable id, java.lang.Object version, java.lang.Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session) throws org.hibernate.HibernateException
Delete the given instance without blocking.- Throws:
org.hibernate.HibernateException
- See Also:
EntityPersister.delete(Serializable, Object, Object, SharedSessionContractImplementor)
-
updateReactive
java.util.concurrent.CompletionStage<java.lang.Void> updateReactive(java.io.Serializable id, java.lang.Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, java.lang.Object[] oldFields, java.lang.Object oldVersion, java.lang.Object object, java.lang.Object rowId, org.hibernate.engine.spi.SharedSessionContractImplementor session) throws org.hibernate.HibernateException
Update the given instance state without blocking.- Throws:
org.hibernate.HibernateException
- See Also:
EntityPersister.update(Serializable, Object[], int[], boolean, Object[], Object, Object, Object, SharedSessionContractImplementor)
-
lockReactive
java.util.concurrent.CompletionStage<java.lang.Void> lockReactive(java.io.Serializable id, java.lang.Object version, java.lang.Object object, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session) throws org.hibernate.HibernateException
Obtain a pessimistic lock without blocking- Throws:
org.hibernate.HibernateException
-
reactiveMultiLoad
java.util.concurrent.CompletionStage<java.util.List<java.lang.Object>> reactiveMultiLoad(java.io.Serializable[] ids, org.hibernate.engine.spi.SessionImplementor session, org.hibernate.persister.entity.MultiLoadOptions loadOptions)
-
reactiveLoad
java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoad(java.io.Serializable 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.io.Serializable 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)
-
getAppropriateLoader
ReactiveUniqueEntityLoader getAppropriateLoader(org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)
-
getAppropriateUniqueKeyLoader
ReactiveUniqueEntityLoader getAppropriateUniqueKeyLoader(java.lang.String propertyName, org.hibernate.engine.spi.SharedSessionContractImplementor session)
-
reactiveGetCurrentVersion
java.util.concurrent.CompletionStage<java.lang.Object> reactiveGetCurrentVersion(java.io.Serializable id, org.hibernate.engine.spi.SharedSessionContractImplementor session)
-
reactiveProcessInsertGenerated
java.util.concurrent.CompletionStage<java.lang.Void> reactiveProcessInsertGenerated(java.io.Serializable id, java.lang.Object entity, java.lang.Object[] state, org.hibernate.engine.spi.SharedSessionContractImplementor session)
- See Also:
EntityPersister.processInsertGeneratedProperties(Serializable, Object, Object[], SharedSessionContractImplementor)
-
reactiveProcessUpdateGenerated
java.util.concurrent.CompletionStage<java.lang.Void> reactiveProcessUpdateGenerated(java.io.Serializable id, java.lang.Object entity, java.lang.Object[] state, org.hibernate.engine.spi.SharedSessionContractImplementor session)
- See Also:
EntityPersister.processUpdateGeneratedProperties(Serializable, Object, Object[], SharedSessionContractImplementor)
-
reactiveGetDatabaseSnapshot
java.util.concurrent.CompletionStage<java.lang.Object[]> reactiveGetDatabaseSnapshot(java.io.Serializable 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
default <E,T> java.util.concurrent.CompletionStage<T> reactiveInitializeLazyProperty(javax.persistence.metamodel.Attribute<E,T> field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session)
-
reactiveLoadEntityIdByNaturalId
java.util.concurrent.CompletionStage<java.io.Serializable> reactiveLoadEntityIdByNaturalId(java.lang.Object[] orderedNaturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.event.spi.EventSource session)
-
-