Class ReactiveJoinedSubclassEntityPersister

  • All Implemented Interfaces:
    org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer, org.hibernate.engine.profile.internal.FetchProfileAffectee, org.hibernate.id.PostInsertIdentityPersister, org.hibernate.loader.ast.spi.Loadable, org.hibernate.metadata.ClassMetadata, org.hibernate.metamodel.mapping.Bindable, org.hibernate.metamodel.mapping.Discriminatable, org.hibernate.metamodel.mapping.EntityMappingType, org.hibernate.metamodel.mapping.EntityValuedModelPart, org.hibernate.metamodel.mapping.FilterRestrictable, org.hibernate.metamodel.mapping.internal.InFlightEntityMappingType, org.hibernate.metamodel.mapping.JdbcMappingContainer, 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.metamodel.mapping.WhereRestrictable, org.hibernate.persister.entity.DeprecatedEntityStuff, org.hibernate.persister.entity.EntityPersister, org.hibernate.persister.entity.Joinable, org.hibernate.persister.entity.Loadable, org.hibernate.persister.entity.Lockable, org.hibernate.persister.entity.mutation.EntityMutationTarget, org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.persister.entity.PropertyMapping, org.hibernate.persister.entity.Queryable, org.hibernate.persister.entity.SQLLoadable, org.hibernate.persister.entity.UniqueKeyLoadable, org.hibernate.persister.walking.spi.AttributeSource, ReactiveAbstractEntityPersister, ReactiveEntityPersister, org.hibernate.sql.ast.tree.from.RootTableGroupProducer, org.hibernate.sql.ast.tree.from.TableGroupProducer, org.hibernate.sql.model.MutationTarget<org.hibernate.persister.entity.mutation.EntityTableMapping>, org.hibernate.sql.results.graph.FetchableContainer

    public class ReactiveJoinedSubclassEntityPersister
    extends org.hibernate.persister.entity.JoinedSubclassEntityPersister
    implements ReactiveAbstractEntityPersister
    An ReactiveEntityPersister backed by JoinedSubclassEntityPersister and ReactiveAbstractEntityPersister.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.hibernate.persister.entity.AbstractEntityPersister

        org.hibernate.persister.entity.AbstractEntityPersister.CacheEntryHelper
      • 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.bytecode.enhance.spi.LazyPropertyInitializer

        org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer.InterceptorImplementor
      • 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
      • Nested classes/interfaces inherited from interface org.hibernate.persister.entity.Queryable

        org.hibernate.persister.entity.Queryable.Declarer
    • Field Summary

      • Fields inherited from class org.hibernate.persister.entity.AbstractEntityPersister

        accessOptimizer, batchSize, customSQLDelete, customSQLInsert, customSQLUpdate, declaredAttributeMappings, deleteCallable, deleteExpectations, ENTITY_CLASS, fullDiscriminatorSQLValues, insertCallable, insertExpectations, propertyMapping, rowIdName, staticFetchableList, updateCallable, updateExpectations, VERSION_COLUMN_ALIAS
      • Fields inherited from interface org.hibernate.persister.entity.EntityPersister

        ENTITY_ID
      • Fields inherited from interface org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer

        UNFETCHED_PROPERTY
      • Fields inherited from interface org.hibernate.persister.entity.Loadable

        ROWID_ALIAS
    • Constructor Summary

      Constructors 
      Constructor Description
      ReactiveJoinedSubclassEntityPersister​(org.hibernate.mapping.PersistentClass persistentClass, org.hibernate.cache.spi.access.EntityDataAccess cacheAccessStrategy, org.hibernate.cache.spi.access.NaturalIdDataAccess naturalIdRegionAccessStrategy, org.hibernate.metamodel.spi.RuntimeModelCreationContext creationContext)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.hibernate.persister.entity.mutation.DeleteCoordinator buildDeleteCoordinator()  
      protected org.hibernate.persister.entity.mutation.InsertCoordinator buildInsertCoordinator()  
      protected org.hibernate.metamodel.mapping.AttributeMapping buildPluralAttributeMapping​(java.lang.String attrName, int stateArrayPosition, int fetchableIndex, org.hibernate.mapping.Property bootProperty, org.hibernate.metamodel.mapping.ManagedMappingType declaringType, org.hibernate.property.access.spi.PropertyAccess propertyAccess, org.hibernate.engine.spi.CascadeStyle cascadeStyle, org.hibernate.FetchMode fetchMode, org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess)  
      protected org.hibernate.metamodel.mapping.AttributeMapping buildSingularAssociationAttributeMapping​(java.lang.String attrName, org.hibernate.metamodel.model.domain.NavigableRole navigableRole, int stateArrayPosition, int fetchableIndex, org.hibernate.mapping.Property bootProperty, org.hibernate.metamodel.mapping.ManagedMappingType declaringType, org.hibernate.persister.entity.EntityPersister declaringEntityPersister, org.hibernate.type.EntityType attrType, org.hibernate.property.access.spi.PropertyAccess propertyAccess, org.hibernate.engine.spi.CascadeStyle cascadeStyle, org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess)  
      protected org.hibernate.persister.entity.mutation.UpdateCoordinator buildUpdateCoordinator()  
      boolean check​(int rows, java.lang.Object id, int tableNumber, org.hibernate.jdbc.Expectation expectation, java.sql.PreparedStatement statement, java.lang.String sql)  
      <T> org.hibernate.sql.results.graph.DomainResult<T> createDomainResult​(org.hibernate.spi.NavigablePath navigablePath, org.hibernate.sql.ast.tree.from.TableGroup tableGroup, java.lang.String resultVariable, org.hibernate.sql.results.graph.DomainResultCreationState creationState)  
      void delete​(java.lang.Object id, java.lang.Object version, java.lang.Object object, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      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.
      org.hibernate.metamodel.mapping.NaturalIdMapping generateNaturalIdMapping​(org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess, org.hibernate.mapping.PersistentClass bootEntityDescriptor)  
      java.lang.String generateSelectVersionString()  
      org.hibernate.generator.Generator getGenerator()  
      java.lang.String[][] getLazyPropertyColumnAliases()  
      ReactiveSingleIdEntityLoader<?> getReactiveSingleIdEntityLoader()  
      protected ReactiveSingleUniqueKeyEntityLoader<java.lang.Object> getReactiveUniqueKeyLoader​(java.lang.String attributeName)  
      protected org.hibernate.loader.ast.spi.SingleUniqueKeyEntityLoader<?> getUniqueKeyLoader​(java.lang.String attributeName)  
      protected java.lang.Object initializeLazyPropertiesFromDatastore​(java.lang.Object entity, java.lang.Object id, org.hibernate.engine.spi.EntityEntry entry, java.lang.String fieldName, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      boolean initializeLazyProperty​(java.lang.String fieldName, java.lang.Object entity, org.hibernate.engine.spi.EntityEntry entry, int lazyIndex, java.lang.Object selectedValue)  
      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.lang.Object load​(java.lang.Object id, java.lang.Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.lang.Object load​(java.lang.Object id, java.lang.Object optionalObject, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session, java.lang.Boolean readOnly)  
      java.lang.Object loadByUniqueKey​(java.lang.String propertyName, java.lang.Object uniqueKey, java.lang.Boolean readOnly, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.lang.Object loadByUniqueKey​(java.lang.String propertyName, java.lang.Object uniqueKey, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      java.lang.Object loadEntityIdByNaturalId​(java.lang.Object[] naturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      ReactiveSingleIdArrayLoadPlan reactiveGetSQLLazySelectLoadPlan​(java.lang.String fetchGroup)  
      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[] orderedNaturalIdValues, org.hibernate.LockOptions lockOptions, org.hibernate.engine.spi.SharedSessionContractImplementor session)  
      <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)
      Process properties generated with an insert
      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)
      Process properties generated with an update
      void update​(java.lang.Object 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)  
      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 class org.hibernate.persister.entity.JoinedSubclassEntityPersister

        addDiscriminatorToInsertGroup, determineTableNumberForColumn, fromTableFragment, generateDiscriminatorMapping, generateFilterConditionAlias, generateIdentifierMapping, generateNonEncapsulatedCompositeIdentifierMapping, generateVersionMapping, getConstraintOrderedTableNameClosure, getContraintOrderedTableKeyColumnClosure, getDiscriminatorAlias, getDiscriminatorColumnName, getDiscriminatorColumnReaders, getDiscriminatorColumnReaderTemplate, getDiscriminatorSQLValue, getDiscriminatorType, getDiscriminatorValue, getFilterAliasGenerator, getIdentifierColumnNames, getIdentifierColumnReaders, getIdentifierColumnReaderTemplates, getIdentifierTableDetails, getKeyColumns, getMappedTableDetails, getPropertySpaces, getPropertyTableNumbers, getRootTableAlias, getRootTableName, getSubclassByDiscriminatorValue, getSubclassForDiscriminatorValue, getSubclassPropertyDeclarer, getSubclassPropertyTableName, getSubclassPropertyTableNumber, getSubclassTableKeyColumns, getSubclassTableName, getSubclassTableNames, getSubclassTableSpan, getTableName, getTableName, getTableSpan, hasDuplicateTables, hasMultipleTables, hasSkippableTables, isClassOrSuperclassTable, isIdentifierTable, isInverseSubclassTable, isInverseTable, isNullableSubclassTable, isNullableTable, isPhysicalDiscriminator, isPropertyOfTable, isSubclassTableIndicatedByTreatAsDeclarations, isTableCascadeDeleteEnabled, needsDiscriminator, pruneForSubclasses, shouldProcessSuperMapping, visitConstraintOrderedTables, visitMutabilityOrderedTables
      • Methods inherited from class org.hibernate.persister.entity.AbstractEntityPersister

        afterInitialize, afterReassociate, applyBaseRestrictions, applyDiscriminator, applyFilterRestrictions, applySqlSelections, applySqlSelections, applyWhereRestrictions, buildCacheEntry, buildCacheEntryHelper, buildEmbeddedAttributeMapping, buildTableMappings, canReadFromCache, canUseReferenceCacheEntries, canWriteToCache, checkVersion, consumesCollectionAlias, consumesEntityAlias, containsTableReference, countSubclassProperties, createPrimaryTableReference, createProxy, createRootTableGroup, createTableReferenceJoin, dehydrate, determineTableName, disassemble, findAttributeMapping, findDeclaredAttributeMapping, findDirty, findModified, findSubPart, findSubTypesSubPart, forceVersionIncrement, forceVersionIncrement, forEachAttributeMapping, forEachAttributeMapping, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachMutableTable, forEachMutableTableReverse, forEachSelectable, generateDeleteString, generateJoinPredicate, generateLocker, generateNonIdAttributeMapping, generateSQLDeleteStrings, generateTableAlias, generateTableReferenceJoin, generateVersionMapping, getAttributeMapping, getAttributeMappings, getBytecodeEnhancementMetadata, getCacheAccessStrategy, getCacheEntryStructure, getCascadeStyle, getClassMetadata, getCollectionKey, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getDeclaredAttributeMappings, getDeleteCoordinator, getDiscriminatorAlias, getDiscriminatorFormulaTemplate, getDiscriminatorMapping, getElementTypeDescriptor, getEntityEntryFactory, getEntityMetamodel, getEntityName, getEntityNameByTableNameMap, getEntityPersister, getEntityType, getFactory, getFetchable, getFetchMode, getIdByUniqueKey, getIdentifier, getIdentifierAliases, getIdentifierAliases, getIdentifierColumnSpan, getIdentifierDescriptor, getIdentifierGenerator, getIdentifierMapping, getIdentifierPropertyName, getIdentifierTableMapping, getIdentifierTableName, getIdentifierType, getIdentityInsertDelegate, getIdentitySelectString, getInsertCoordinator, getInsertGeneratedValuesProcessor, getInstrumentationMetadata, getJdbcMapping, getJdbcTypeCount, getKeyColumnNames, getKeyFetchable, getLazyLoadPlanByFetchGroup, getMappedClass, getMappedJavaType, getMappedSuperclass, getMultiNaturalIdLoader, getName, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNaturalIdLoader, getNaturalIdMapping, getNavigableRole, getNonLazyPropertyUpdateability, getNumberOfAttributeMappings, getNumberOfDeclaredAttributeMappings, getNumberOfFetchableKeys, getNumberOfFetchables, getNumberOfKeyFetchables, getPartName, getPhysicalTableMappingForMutation, getPropertyAliases, getPropertyCascadeStyles, getPropertyCheckability, getPropertyColumnInsertable, getPropertyColumnNames, getPropertyColumnNames, getPropertyColumnSpan, getPropertyColumnUpdateable, getPropertyColumnWriters, getPropertyIndex, getPropertyInsertability, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpan, getPropertyTableName, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyUpdateability, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRepresentationStrategy, getRootEntityName, getRootTableIdentifierColumnNames, getRootTableKeyColumnNames, getRowIdMapping, getSelectByUniqueKeyString, getSelectByUniqueKeyString, getSingleIdLoader, getSqlAliasStem, getSQLDeleteStrings, getSQLUpdateStrings, getSqmMultiTableInsertStrategy, getSqmMultiTableMutationStrategy, getStateArrayInitialPosition, getStaticFetchableList, getSubclassColumnAliasClosure, getSubclassEntityPersister, getSubclassFormulaAliasClosure, getSubclassPropertyColumnAliases, getSubclassPropertyColumnNameClosure, getSubclassPropertyColumnNames, getSubclassPropertyColumnNames, getSubclassPropertyColumnReaderClosure, getSubclassPropertyColumnReaderTemplateClosure, getSubclassPropertyFormulaTemplateClosure, getSubclassPropertyName, getSubclassPropertyNameClosure, getSubclassPropertyTableNumber, getSubclassPropertyType, getSubclassPropertyTypeClosure, getSubMappingTypes, getSuperMappingType, getTableAliasForColumn, getTableHasColumns, getTableId, getTableMapping, getTableMappings, getTableMappingsCount, getTableNames, getTableUpdateNeeded, getTargetPart, getType, getTypeDiscriminatorMetadata, getUpdateCoordinator, getUpdateGeneratedValuesProcessor, getVersion, getVersionColumnName, getVersionedTableName, getVersionGenerator, getVersionMapping, getVersionProperty, getVersionSelectString, getVersionType, hasAnySkippableTables, hasCache, hasCascadeDelete, hasCascades, hasCollectionNotReferencingPK, hasCollections, hasFormulaProperties, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyDirtyFields, hasLazyProperties, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasOwnedCollections, hasPartitionedSelectionMapping, hasProxy, hasRowId, hasSubclasses, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, implementsLifecycle, initializeEnhancedEntityUsedAsProxy, initializeLazyPropertiesFromCache, initializeLazyProperty, initPropertyPaths, initSubclassPropertyAliasesMap, insert, insert, instantiate, interpretSqmMultiTableInsertStrategy, interpretSqmMultiTableStrategy, isAbstract, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEntityGraph, isAllNull, isAllOrDirtyOptLocking, isBatchable, isBatchLoadable, isCacheInvalidationRequired, isClassOrSuperclassJoin, isCollection, isDefinedOnSubclass, isDeleteCallable, isDiscriminatorFormula, isExplicitPolymorphism, isIdentifierAssignedByInsert, isInherited, isInsertCallable, isInstance, isInstrumented, isLazyPropertiesCacheable, isMultiTable, isMutable, isPolymorphic, isPropertySelectable, isSelectable, isSelectBeforeUpdateRequired, isSharedColumn, isSubclassEntityName, isSubclassPropertyNullable, isSubclassTableSequentialSelect, isTransient, isTypeOrSuperType, isUpdateCallable, isVersioned, isVersionGeneratedBeforeExecution, isVersionGeneratedOnExecution, isVersionPropertyGenerated, isVersionPropertyInsertable, linkToSession, linkWithSubType, linkWithSuperType, load, lock, lock, logStaticSQL, multiLoad, optimisticLockStyle, physicalTableNameForMutation, postConstruct, postInstantiate, prepareMappingModel, processInsertGeneratedProperties, processUpdateGeneratedProperties, registerAffectingFetchProfile, registerAffectingFetchProfile, resetIdentifier, resolveAttributeIndexes, resolveDirtyAttributeIndexes, resolveDiscriminatorType, selectFragment, setIdentifier, setPropertyValue, setPropertyValue, setPropertyValues, shouldGetAllProperties, shouldInnerJoinSubclassTable, substituteBrackets, toColumns, toColumns, toString, toType, verifyHasNaturalId, visitAttributeMappings, visitDeclaredAttributeMappings, visitFetchables, visitFetchables, visitKeyFetchables, visitKeyFetchables, visitSubParts, visitSubTypeAttributeMappings, visitSuperTypeAttributeMappings
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.hibernate.metamodel.mapping.Bindable

        forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, getJdbcMappings
      • Methods inherited from interface org.hibernate.metadata.ClassMetadata

        getIdentifier, getIdentifier, getPropertyValuesToInsert, instantiate, setIdentifier
      • 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, getEntityPersister, getFetchable, getIdentifierMapping, getIdentifierTableDetails, getJavaType, getJdbcTypeCount, getMappedJavaType, getMappedTableDetails, getNaturalIdMapping, getNumberOfAttributeMappings, getNumberOfDeclaredAttributeMappings, getNumberOfFetchables, getPartMappingType, getPartName, getRootEntityDescriptor, getRootPathName, getRowIdMapping, getSubclassEntityNames, getSubclassId, getSubMappingTypes, getSuperMappingType, getVersionMapping, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEntityGraph, 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, findDirty, findModified, forceVersionIncrement, forceVersionIncrement, getAttributeMapping, getBytecodeEnhancementMetadata, getCacheAccessStrategy, getCacheEntryStructure, getClassMetadata, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getEntityEntryFactory, getEntityMappingType, getEntityMetamodel, getEntityName, getFactory, getFilterAliasGenerator, getFilterAliasGenerator, getIdByUniqueKey, getIdentifier, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getInstrumentationMetadata, getMappedClass, getMultiNaturalIdLoader, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, 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, 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, lock, lock, multiLoad, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, resolveAttributeIndexes, resolveDirtyAttributeIndexes, setIdentifier, setPropertyValue, setPropertyValues, setValue, setValues, visitQuerySpaces
      • Methods inherited from interface org.hibernate.metamodel.mapping.EntityValuedModelPart

        applySqlSelections, applySqlSelections, 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.persister.entity.Joinable

        consumesCollectionAlias, consumesEntityAlias, getKeyColumnNames, getName, getTableName, isCollection
      • Methods inherited from interface org.hibernate.loader.ast.spi.Loadable

        isAffectedByInfluencers, isNotAffectedByInfluencers
      • Methods inherited from interface org.hibernate.persister.entity.Loadable

        getDiscriminatorAlias, getDiscriminatorColumnName, getDiscriminatorType, getDiscriminatorValue, getIdentifierAliases, getPropertyAliases, getPropertyColumnNames, getSubclassForDiscriminatorValue, getTableAliasForColumn, hasRowId, hasSubclasses, registerAffectingFetchProfile
      • Methods inherited from interface org.hibernate.persister.entity.Lockable

        getRootTableAlias, getRootTableIdentifierColumnNames, getRootTableName, getVersionColumnName
      • 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.model.MutationTarget

        getRolePath
      • Methods inherited from interface org.hibernate.persister.entity.OuterJoinLoadable

        countSubclassProperties, fromTableFragment, getAttributeMutationTableName, getCascadeStyle, getEntityType, getFetchMode, getPropertyColumnNames, getPropertyTableName, getSubclassPropertyColumnNames, getSubclassPropertyName, getSubclassPropertyTableName, getSubclassPropertyType, isDefinedOnSubclass, isSubclassPropertyNullable, selectFragment, toColumns
      • Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupProducer

        containsTableReference
    • Constructor Detail

      • ReactiveJoinedSubclassEntityPersister

        public ReactiveJoinedSubclassEntityPersister​(org.hibernate.mapping.PersistentClass persistentClass,
                                                     org.hibernate.cache.spi.access.EntityDataAccess cacheAccessStrategy,
                                                     org.hibernate.cache.spi.access.NaturalIdDataAccess naturalIdRegionAccessStrategy,
                                                     org.hibernate.metamodel.spi.RuntimeModelCreationContext creationContext)
                                              throws org.hibernate.HibernateException
        Throws:
        org.hibernate.HibernateException
    • Method Detail

      • buildSingularAssociationAttributeMapping

        protected org.hibernate.metamodel.mapping.AttributeMapping buildSingularAssociationAttributeMapping​(java.lang.String attrName,
                                                                                                            org.hibernate.metamodel.model.domain.NavigableRole navigableRole,
                                                                                                            int stateArrayPosition,
                                                                                                            int fetchableIndex,
                                                                                                            org.hibernate.mapping.Property bootProperty,
                                                                                                            org.hibernate.metamodel.mapping.ManagedMappingType declaringType,
                                                                                                            org.hibernate.persister.entity.EntityPersister declaringEntityPersister,
                                                                                                            org.hibernate.type.EntityType attrType,
                                                                                                            org.hibernate.property.access.spi.PropertyAccess propertyAccess,
                                                                                                            org.hibernate.engine.spi.CascadeStyle cascadeStyle,
                                                                                                            org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess)
        Overrides:
        buildSingularAssociationAttributeMapping in class org.hibernate.persister.entity.AbstractEntityPersister
      • buildPluralAttributeMapping

        protected org.hibernate.metamodel.mapping.AttributeMapping buildPluralAttributeMapping​(java.lang.String attrName,
                                                                                               int stateArrayPosition,
                                                                                               int fetchableIndex,
                                                                                               org.hibernate.mapping.Property bootProperty,
                                                                                               org.hibernate.metamodel.mapping.ManagedMappingType declaringType,
                                                                                               org.hibernate.property.access.spi.PropertyAccess propertyAccess,
                                                                                               org.hibernate.engine.spi.CascadeStyle cascadeStyle,
                                                                                               org.hibernate.FetchMode fetchMode,
                                                                                               org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess)
        Overrides:
        buildPluralAttributeMapping in class org.hibernate.persister.entity.AbstractEntityPersister
      • generateSelectVersionString

        public java.lang.String generateSelectVersionString()
        Overrides:
        generateSelectVersionString in class org.hibernate.persister.entity.AbstractEntityPersister
      • buildInsertCoordinator

        protected org.hibernate.persister.entity.mutation.InsertCoordinator buildInsertCoordinator()
        Overrides:
        buildInsertCoordinator in class org.hibernate.persister.entity.AbstractEntityPersister
      • buildUpdateCoordinator

        protected org.hibernate.persister.entity.mutation.UpdateCoordinator buildUpdateCoordinator()
        Overrides:
        buildUpdateCoordinator in class org.hibernate.persister.entity.AbstractEntityPersister
      • buildDeleteCoordinator

        protected org.hibernate.persister.entity.mutation.DeleteCoordinator buildDeleteCoordinator()
        Overrides:
        buildDeleteCoordinator in class org.hibernate.persister.entity.AbstractEntityPersister
      • getGenerator

        public org.hibernate.generator.Generator getGenerator()
                                                       throws org.hibernate.HibernateException
        Specified by:
        getGenerator in interface org.hibernate.persister.entity.EntityPersister
        Overrides:
        getGenerator in class org.hibernate.persister.entity.AbstractEntityPersister
        Throws:
        org.hibernate.HibernateException
      • createDomainResult

        public <T> org.hibernate.sql.results.graph.DomainResult<T> createDomainResult​(org.hibernate.spi.NavigablePath navigablePath,
                                                                                      org.hibernate.sql.ast.tree.from.TableGroup tableGroup,
                                                                                      java.lang.String resultVariable,
                                                                                      org.hibernate.sql.results.graph.DomainResultCreationState creationState)
        Specified by:
        createDomainResult in interface org.hibernate.metamodel.mapping.EntityValuedModelPart
        Specified by:
        createDomainResult in interface org.hibernate.metamodel.mapping.ModelPart
        Overrides:
        createDomainResult in class org.hibernate.persister.entity.JoinedSubclassEntityPersister
      • generateNaturalIdMapping

        public org.hibernate.metamodel.mapping.NaturalIdMapping generateNaturalIdMapping​(org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess creationProcess,
                                                                                         org.hibernate.mapping.PersistentClass bootEntityDescriptor)
        Specified by:
        generateNaturalIdMapping in interface ReactiveAbstractEntityPersister
        Overrides:
        generateNaturalIdMapping in class org.hibernate.persister.entity.AbstractEntityPersister
        See Also:
        AbstractEntityPersister.generateNaturalIdMapping(MappingModelCreationProcess, PersistentClass)
      • insertReactive

        public 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)
        Description copied from interface: ReactiveEntityPersister
        Insert the given instance state without blocking.
        Specified by:
        insertReactive in interface ReactiveEntityPersister
        See Also:
        EntityPersister.insert(Object, Object[], Object, SharedSessionContractImplementor)
      • insertReactive

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

        public 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)
        Description copied from interface: ReactiveEntityPersister
        Delete the given instance without blocking.
        Specified by:
        deleteReactive in interface ReactiveEntityPersister
        See Also:
        EntityPersister.delete(Object, Object, Object, SharedSessionContractImplementor)
      • updateReactive

        public 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)
        Description copied from interface: ReactiveEntityPersister
        Update the given instance state without blocking.
        Specified by:
        updateReactive in interface ReactiveEntityPersister
        See Also:
        EntityPersister.update(Object, Object[], int[], boolean, Object[], Object, Object, Object, SharedSessionContractImplementor)
      • reactiveMultiLoad

        public <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)
        Specified by:
        reactiveMultiLoad in interface ReactiveEntityPersister
      • delete

        public void delete​(java.lang.Object id,
                           java.lang.Object version,
                           java.lang.Object object,
                           org.hibernate.engine.spi.SharedSessionContractImplementor session)
                    throws org.hibernate.HibernateException
        Specified by:
        delete in interface org.hibernate.persister.entity.EntityPersister
        Overrides:
        delete in class org.hibernate.persister.entity.AbstractEntityPersister
        Throws:
        org.hibernate.HibernateException
      • update

        public void update​(java.lang.Object 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
        Specified by:
        update in interface org.hibernate.persister.entity.EntityPersister
        Overrides:
        update in class org.hibernate.persister.entity.AbstractEntityPersister
        Throws:
        org.hibernate.HibernateException
      • check

        public boolean check​(int rows,
                             java.lang.Object id,
                             int tableNumber,
                             org.hibernate.jdbc.Expectation expectation,
                             java.sql.PreparedStatement statement,
                             java.lang.String sql)
                      throws org.hibernate.HibernateException
        Specified by:
        check in interface ReactiveAbstractEntityPersister
        Overrides:
        check in class org.hibernate.persister.entity.AbstractEntityPersister
        Throws:
        org.hibernate.HibernateException
      • initializeLazyProperty

        public boolean initializeLazyProperty​(java.lang.String fieldName,
                                              java.lang.Object entity,
                                              org.hibernate.engine.spi.EntityEntry entry,
                                              int lazyIndex,
                                              java.lang.Object selectedValue)
        Specified by:
        initializeLazyProperty in interface ReactiveAbstractEntityPersister
        Overrides:
        initializeLazyProperty in class org.hibernate.persister.entity.AbstractEntityPersister
      • reactiveProcessInsertGenerated

        public 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)
        Process properties generated with an insert
        Specified by:
        reactiveProcessInsertGenerated in interface ReactiveEntityPersister
        See Also:
        AbstractEntityPersister.processInsertGeneratedProperties(Object, Object, Object[], SharedSessionContractImplementor)
      • reactiveProcessUpdateGenerated

        public 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)
        Process properties generated with an update
        Specified by:
        reactiveProcessUpdateGenerated in interface ReactiveEntityPersister
        See Also:
        AbstractEntityPersister.processUpdateGeneratedProperties(Object, Object, Object[], SharedSessionContractImplementor)
      • initializeLazyPropertiesFromDatastore

        protected java.lang.Object initializeLazyPropertiesFromDatastore​(java.lang.Object entity,
                                                                         java.lang.Object id,
                                                                         org.hibernate.engine.spi.EntityEntry entry,
                                                                         java.lang.String fieldName,
                                                                         org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Overrides:
        initializeLazyPropertiesFromDatastore in class org.hibernate.persister.entity.AbstractEntityPersister
      • reactiveLoad

        public 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)
        Specified by:
        reactiveLoad in interface ReactiveEntityPersister
      • load

        public java.lang.Object load​(java.lang.Object id,
                                     java.lang.Object optionalObject,
                                     org.hibernate.LockOptions lockOptions,
                                     org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Specified by:
        load in interface org.hibernate.persister.entity.EntityPersister
        Overrides:
        load in class org.hibernate.persister.entity.AbstractEntityPersister
      • reactiveLoad

        public 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)
        Specified by:
        reactiveLoad in interface ReactiveEntityPersister
      • load

        public java.lang.Object load​(java.lang.Object id,
                                     java.lang.Object optionalObject,
                                     org.hibernate.LockOptions lockOptions,
                                     org.hibernate.engine.spi.SharedSessionContractImplementor session,
                                     java.lang.Boolean readOnly)
        Specified by:
        load in interface org.hibernate.persister.entity.EntityPersister
        Overrides:
        load in class org.hibernate.persister.entity.AbstractEntityPersister
      • reactiveLoad

        public 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)
        Specified by:
        reactiveLoad in interface ReactiveEntityPersister
      • loadEntityIdByNaturalId

        public java.lang.Object loadEntityIdByNaturalId​(java.lang.Object[] naturalIdValues,
                                                        org.hibernate.LockOptions lockOptions,
                                                        org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Specified by:
        loadEntityIdByNaturalId in interface org.hibernate.persister.entity.EntityPersister
        Overrides:
        loadEntityIdByNaturalId in class org.hibernate.persister.entity.AbstractEntityPersister
      • loadByUniqueKey

        public java.lang.Object loadByUniqueKey​(java.lang.String propertyName,
                                                java.lang.Object uniqueKey,
                                                org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Specified by:
        loadByUniqueKey in interface org.hibernate.metamodel.mapping.EntityMappingType
        Specified by:
        loadByUniqueKey in interface org.hibernate.persister.entity.EntityPersister
        Specified by:
        loadByUniqueKey in interface org.hibernate.persister.entity.UniqueKeyLoadable
        Overrides:
        loadByUniqueKey in class org.hibernate.persister.entity.AbstractEntityPersister
      • loadByUniqueKey

        public java.lang.Object loadByUniqueKey​(java.lang.String propertyName,
                                                java.lang.Object uniqueKey,
                                                java.lang.Boolean readOnly,
                                                org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Overrides:
        loadByUniqueKey in class org.hibernate.persister.entity.AbstractEntityPersister
      • reactiveLoadByUniqueKey

        public java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadByUniqueKey​(java.lang.String propertyName,
                                                                                              java.lang.Object uniqueKey,
                                                                                              org.hibernate.engine.spi.SharedSessionContractImplementor session)
                                                                                       throws org.hibernate.HibernateException
        Specified by:
        reactiveLoadByUniqueKey in interface ReactiveEntityPersister
        Throws:
        org.hibernate.HibernateException
      • reactiveLoadByUniqueKey

        public 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)
                                                                                       throws org.hibernate.HibernateException
        Specified by:
        reactiveLoadByUniqueKey in interface ReactiveEntityPersister
        Throws:
        org.hibernate.HibernateException
      • reactiveLoadEntityIdByNaturalId

        public java.util.concurrent.CompletionStage<java.lang.Object> reactiveLoadEntityIdByNaturalId​(java.lang.Object[] orderedNaturalIdValues,
                                                                                                      org.hibernate.LockOptions lockOptions,
                                                                                                      org.hibernate.engine.spi.SharedSessionContractImplementor session)
        Specified by:
        reactiveLoadEntityIdByNaturalId in interface ReactiveEntityPersister
        See Also:
        AbstractEntityPersister.loadEntityIdByNaturalId(Object[], LockOptions, SharedSessionContractImplementor)
      • getUniqueKeyLoader

        protected org.hibernate.loader.ast.spi.SingleUniqueKeyEntityLoader<?> getUniqueKeyLoader​(java.lang.String attributeName)
        Overrides:
        getUniqueKeyLoader in class org.hibernate.persister.entity.AbstractEntityPersister