Interface ReactiveAbstractEntityPersister
- 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>,ReactiveEntityPersister,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 Implementing Classes:
ReactiveJoinedSubclassEntityPersister,ReactiveSingleTableEntityPersister,ReactiveUnionSubclassEntityPersister
An abstract implementation of
ReactiveEntityPersister whose
concrete implementations each extend a concrete subclass of
AbstractEntityPersister. Note that there are three
main flavors of AbstractEntityPersister, one for each
of the three inheritance mapping strategies, and thus we have
three flavors of ReactiveEntityPersister. Therefore, this
interface is defined as a mixin. This design avoid duplicating
the code in this class in the three different subclasses.
Concrete implementations of this interface _must_ also extend
AbstractEntityPersister or one of its concrete
subclasses.
- 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 -
Field Summary
FieldsFields inherited from interface org.hibernate.persister.entity.EntityPersister
ENTITY_ID -
Method Summary
Modifier and TypeMethodDescriptiondefault ReactiveSingleIdArrayLoadPlancreateLazyLoadPlan(List<org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeDescriptor> fetchGroupAttributeDescriptors, String[] subclassPropertyNameClosure) default Map<String,ReactiveSingleIdArrayLoadPlan> createLazyLoadPlanByFetchGroup(org.hibernate.bytecode.spi.BytecodeEnhancementMetadata metadata, String[] subclassPropertyNameClosure) default org.hibernate.generator.values.GeneratedValuesMutationDelegatedefault org.hibernate.generator.values.GeneratedValuesMutationDelegatedefault org.hibernate.persister.entity.AbstractEntityPersisterdelegate()A self-reference of typeAbstractEntityPersister.org.hibernate.loader.ast.spi.SingleIdEntityLoader<?>determineLoaderToUse(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.LockOptions lockOptions) default org.hibernate.metamodel.mapping.NaturalIdMappinggenerateNaturalIdMapping(org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess, org.hibernate.mapping.PersistentClass bootEntityDescriptor) default StringgenerateSelectLockString(org.hibernate.LockOptions lockOptions) default StringgenerateUpdateLockString(org.hibernate.LockOptions lockOptions) default Map<String,ReactiveSingleIdArrayLoadPlan> getLazyLoadPlanByFetchGroup(String[] subclassPropertyNameClosure) default org.hibernate.loader.ast.spi.NaturalIdLoader<?>default ReactiveConnectiongetReactiveConnection(org.hibernate.engine.spi.SharedSessionContractImplementor session) default ReactiveSingleIdEntityLoader<?>default intgetSubclassPropertyIndex(String propertyName, String[] subclassPropertyNameClosure) org.hibernate.type.BasicType<?>voidinitializeLazyProperty(Object entity, org.hibernate.engine.spi.EntityEntry entry, Object propValue, int index, org.hibernate.type.Type type) booleaninitializeLazyProperty(String fieldName, Object entity, org.hibernate.engine.spi.EntityEntry entry, org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeDescriptor fetchGroupAttributeDescriptor, Object propValue) initializeLazyProperty(String fieldName, Object entity, org.hibernate.engine.spi.SharedSessionContractImplementor session) default CompletionStage<Object>initLazyProperty(String fieldName, Object entity, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.EntityEntry entry, org.hibernate.engine.spi.PersistentAttributeInterceptor interceptor, List<org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeDescriptor> fetchGroupAttributeDescriptors, Set<String> initializedLazyAttributeNames, Object[] results) booleanisNonLazyPropertyName(String fieldName) default ObjectnextVersionForLock(org.hibernate.LockMode lockMode, Object id, Object currentVersion, Object entity, org.hibernate.engine.spi.SharedSessionContractImplementor session) default CompletionStage<Object>reactiveGetCurrentVersion(Object id, org.hibernate.engine.spi.SharedSessionContractImplementor session) default 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 identifiersreactiveGetOrCreateLazyLoadPlan(String fieldName, List<org.hibernate.metamodel.mapping.ModelPart> partsToSelect) reactiveGetSQLLazySelectLoadPlan(String fetchGroup) default CompletionStage<Object>reactiveInitializeEnhancedEntityUsedAsProxy(Object entity, String nameOfAttributeBeingAccessed, org.hibernate.engine.spi.SharedSessionContractImplementor session) default CompletionStage<Object>reactiveInitializeLazyPropertiesFromDatastore(Object entity, Object id, org.hibernate.engine.spi.EntityEntry entry, String fieldName, org.hibernate.engine.spi.SharedSessionContractImplementor session) default <E,T> CompletionStage<T> reactiveInitializeLazyProperty(jakarta.persistence.metamodel.Attribute<E, T> field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session) default <E,T> CompletionStage<T> reactiveInitializeLazyProperty(String field, E entity, org.hibernate.engine.spi.SharedSessionContractImplementor session) default CompletionStage<Void>reactiveLock(Object id, Object version, Object object, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session) Obtain a pessimistic lock without blockingMethods inherited from interface org.hibernate.persister.walking.spi.AttributeSource
getPropertyIndexMethods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValueMethods 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, visitSuperTypeAttributeMappingsMethods inherited from interface org.hibernate.persister.entity.mutation.EntityMutationTarget
addDiscriminatorToInsertGroup, addSoftDeleteToInsertGroup, getAttributeMutationTableName, getIdentifierDescriptor, getIdentifierTableMapping, getIdentityInsertDelegate, getInsertDelegate, getMutationDelegate, getTableMappings, getTargetPart, getUpdateDelegate, physicalTableNameForMutationMethods 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, 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, 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, visitQuerySpacesMethods inherited from interface org.hibernate.metamodel.mapping.EntityValuedModelPart
applySqlSelections, applySqlSelections, createDomainResult, disassemble, findSubPart, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachSubPart, visitSubPartsMethods inherited from interface org.hibernate.sql.results.graph.FetchableContainer
getKeyFetchable, getNumberOfFetchableKeys, getNumberOfKeyFetchables, getSelectableIndex, visitFetchables, visitFetchables, visitFetchables, visitKeyFetchables, visitKeyFetchables, visitKeyFetchablesMethods inherited from interface org.hibernate.metamodel.mapping.FilterRestrictable
applyFilterRestrictionsMethods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
getJdbcMapping, getSingleJdbcMappingMethods inherited from interface org.hibernate.loader.ast.spi.Loadable
isAffectedByEnabledFilters, isAffectedByInfluencers, isAffectedByInfluencers, isNotAffectedByInfluencersMethods inherited from interface org.hibernate.metamodel.mapping.ManagedMappingType
anyRequiresAggregateColumnWriter, findAttributeMapping, forEachAttributeMapping, hasPartitionedSelectionMapping, isAffectedByEnabledFiltersMethods inherited from interface org.hibernate.metamodel.mapping.ModelPart
areEqual, asAttributeMapping, asBasicValuedModelPart, breakDownJdbcValues, decompose, decompose, forEachSelectable, forEachSelectable, getNavigableRole, isEntityIdentifierMapping, isVirtualMethods inherited from interface org.hibernate.metamodel.mapping.ModelPartContainer
findByPath, findByPath, forEachSubPartMethods inherited from interface org.hibernate.sql.model.MutationTarget
forEachMutableTable, forEachMutableTableReverse, getIdentifierTableName, getNavigableRole, getRolePathMethods inherited from interface org.hibernate.reactive.persister.entity.impl.ReactiveEntityPersister
deleteReactive, insertReactive, insertReactive, mergeReactive, reactiveLoad, reactiveLoad, reactiveLoad, reactiveLoadByUniqueKey, reactiveLoadByUniqueKey, reactiveLoadEntityIdByNaturalId, reactiveMultiLoad, reactiveProcessInsertGenerated, reactiveProcessUpdateGenerated, updateReactiveMethods inherited from interface org.hibernate.metamodel.mapping.Restrictable
applyBaseRestrictionsMethods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupProducer
containsTableReference
-
Field Details
-
LOG
-
-
Method Details
-
delegate
default org.hibernate.persister.entity.AbstractEntityPersister delegate()A self-reference of typeAbstractEntityPersister.- Returns:
- this object
-
createReactiveInsertDelegate
default org.hibernate.generator.values.GeneratedValuesMutationDelegate createReactiveInsertDelegate() -
createReactiveUpdateDelegate
default org.hibernate.generator.values.GeneratedValuesMutationDelegate createReactiveUpdateDelegate() -
generateSelectLockString
-
generateUpdateLockString
-
getVersionType
org.hibernate.type.BasicType<?> getVersionType()- Specified by:
getVersionTypein interfaceorg.hibernate.persister.entity.EntityPersister- See Also:
-
AbstractEntityPersister.getVersionType()
-
getReactiveSingleIdEntityLoader
-
isNonLazyPropertyName
-
reactiveGetOrCreateLazyLoadPlan
ReactiveSingleIdArrayLoadPlan reactiveGetOrCreateLazyLoadPlan(String fieldName, List<org.hibernate.metamodel.mapping.ModelPart> partsToSelect) -
initializeLazyProperty
-
initializeLazyProperty
-
reactiveGetSQLLazySelectLoadPlan
-
generateNaturalIdMapping
default org.hibernate.metamodel.mapping.NaturalIdMapping generateNaturalIdMapping(org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess, org.hibernate.mapping.PersistentClass bootEntityDescriptor) - See Also:
-
AbstractEntityPersister.generateNaturalIdMapping(MappingModelCreationProcess, PersistentClass)
-
getNaturalIdLoader
default org.hibernate.loader.ast.spi.NaturalIdLoader<?> getNaturalIdLoader()- Specified by:
getNaturalIdLoaderin interfaceorg.hibernate.metamodel.mapping.EntityMappingType- Specified by:
getNaturalIdLoaderin interfaceorg.hibernate.persister.entity.EntityPersister
-
getLazyLoadPlanByFetchGroup
default Map<String,ReactiveSingleIdArrayLoadPlan> getLazyLoadPlanByFetchGroup(String[] subclassPropertyNameClosure) - See Also:
-
AbstractEntityPersister.getLazyLoadPlanByFetchGroup()
-
createLazyLoadPlanByFetchGroup
default Map<String,ReactiveSingleIdArrayLoadPlan> createLazyLoadPlanByFetchGroup(org.hibernate.bytecode.spi.BytecodeEnhancementMetadata metadata, String[] subclassPropertyNameClosure) -
createLazyLoadPlan
default ReactiveSingleIdArrayLoadPlan createLazyLoadPlan(List<org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeDescriptor> fetchGroupAttributeDescriptors, String[] subclassPropertyNameClosure) -
getSubclassPropertyIndex
-