Class OneToManyPersister
java.lang.Object
org.hibernate.persister.collection.AbstractCollectionPersister
org.hibernate.persister.collection.OneToManyPersister
- All Implemented Interfaces:
FetchProfileAffectee,CollectionMetadata,FilterRestrictable,PluralAttributeMappingImpl.Aware,Restrictable,WhereRestrictable,CollectionPersister,DeprecatedCollectionStuff,CollectionMutationTarget,QueryableCollection,SQLLoadableCollection,Joinable,PropertyMapping,MutationTarget<CollectionTableMapping>
- Author:
- Gavin King, Brett Meyer
- See Also:
-
Field Summary
Fields inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
batchSize, elementColumnAliases, elementColumnIsGettable, elementColumnIsSettable, elementColumnNames, elementColumnReaders, elementColumnReaderTemplates, elementColumnWriters, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsGettable, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, isInverse, keyColumnAliases, keyColumnNames, qualifiedTableName, sqlExceptionHelper, sqlWhereString -
Constructor Summary
ConstructorsConstructorDescriptionOneToManyPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) OneToManyPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplyWhereFragments(Consumer<Predicate> predicateConsumer, String alias, TableGroup tableGroup, SqlAstCreationState astCreationState) booleanVery, very, very ugly...booleanVery, very, very ugly...voiddeleteRows(PersistentCollection<?> collection, Object key, SharedSessionContractImplementor session) Delete the persistent state of any elements that were removed from the collectionprotected voiddoProcessQueuedOps(PersistentCollection<?> collection, Object id, SharedSessionContractImplementor session) generateDeleteAllAst(MutatingTableReference tableReference) generateDeleteRowAst(MutatingTableReference tableReference) protected DeleteRowsCoordinatorgetFilterAliasGenerator(String rootAlias) getFilterAliasGenerator(TableGroup rootTableGroup) protected InsertRowsCoordinatorprotected RemoveCoordinatorprotected RowMutationOperationsThe table to join to.protected UpdateRowsCoordinatorvoidinsertRows(PersistentCollection<?> collection, Object id, SharedSessionContractImplementor session) Insert the persistent state of any new collection elementsbooleanIs this a many-to-many association?booleanIs this a one-to-many association?protected booleanvoidrecreate(PersistentCollection<?> collection, Object id, SharedSessionContractImplementor session) (Re)create the collection's persistent statevoidupdateRows(PersistentCollection<?> collection, Object id, SharedSessionContractImplementor session) Update the persistent state of any elements that were modifiedMethods inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
applyBaseManyToManyRestrictions, applyBaseRestrictions, applyBaseRestrictions, applyFilterRestrictions, applyKeyRestrictions, applyWhereRestrictions, buildDeleteAllOperation, createNamedQueryCollectionLoader, createSingleKeyCollectionLoader, createSubSelectLoader, decrementIndexByBase, determineLoaderToUse, determineTableName, elementExists, forEachMutableTable, forEachMutableTableReverse, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectSizeString, getAttributeMapping, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionLoader, getCollectionMetadata, getCollectionPropertyColumnAliases, getCollectionSemantics, getCollectionSpaces, getCollectionTableMapping, getCollectionType, getDialect, getElementByIndex, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementPersister, getElementPersisterInternal, getElementType, getFactory, getFetchMode, getGenerator, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierTableName, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexFormulas, getIndexType, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getMappedByProperty, getName, getNavigableRole, getOwnerEntityName, getOwnerEntityPersister, getSize, getSortingComparator, getSQLExceptionHelper, getSQLOrderByString, getTargetPart, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasPhysicalIndexColumn, hasWhere, hasWhereRestrictions, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, injectAttributeMapping, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEntityGraph, isArray, isBatchLoadable, isCascadeDeleteEnabled, isCollection, isExtraLazy, isInverse, isLazy, isMutable, isPrimitiveArray, isRowInsertEnabled, isSubselectLoadable, isVersioned, logStaticSQL, needsRemove, postInstantiate, processQueuedOps, registerAffectingFetchProfile, remove, selectFragment, toColumns, toString, toType, useShallowQueryCacheLayoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.persister.collection.mutation.CollectionMutationTarget
getIdentifierTableMappingMethods inherited from interface org.hibernate.persister.collection.DeprecatedCollectionStuff
getRoleMethods inherited from interface org.hibernate.metamodel.mapping.FilterRestrictable
applyFilterRestrictionsMethods inherited from interface org.hibernate.sql.model.MutationTarget
getRolePath
-
Constructor Details
-
OneToManyPersister
@Deprecated(since="6.0") public OneToManyPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext) throws MappingException, CacheException Deprecated.- Throws:
MappingExceptionCacheException
-
OneToManyPersister
public OneToManyPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) throws MappingException, CacheException - Throws:
MappingExceptionCacheException
-
-
Method Details
-
getRowMutationOperations
- Specified by:
getRowMutationOperationsin classAbstractCollectionPersister
-
getInsertRowsCoordinator
-
getUpdateRowsCoordinator
-
getDeleteRowsCoordinator
-
getRemoveCoordinator
- Specified by:
getRemoveCoordinatorin classAbstractCollectionPersister
-
isRowDeleteEnabled
protected boolean isRowDeleteEnabled()- Overrides:
isRowDeleteEnabledin classAbstractCollectionPersister
-
consumesEntityAlias
public boolean consumesEntityAlias()Description copied from interface:JoinableVery, very, very ugly...- Returns:
- Does this persister "consume" entity column aliases in the result set?
-
consumesCollectionAlias
public boolean consumesCollectionAlias()Description copied from interface:JoinableVery, very, very ugly...- Returns:
- Does this persister "consume" collection column aliases in the result set?
-
isOneToMany
public boolean isOneToMany()Description copied from interface:CollectionPersisterIs this a one-to-many association? -
isManyToMany
public boolean isManyToMany()Description copied from interface:CollectionPersisterIs this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not contain all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones.- Specified by:
isManyToManyin interfaceCollectionPersister- Specified by:
isManyToManyin classAbstractCollectionPersister
-
getTableName
Description copied from interface:JoinableThe table to join to.- Specified by:
getTableNamein interfaceJoinable- Overrides:
getTableNamein classAbstractCollectionPersister
-
applyWhereFragments
protected void applyWhereFragments(Consumer<Predicate> predicateConsumer, String alias, TableGroup tableGroup, SqlAstCreationState astCreationState) - Overrides:
applyWhereFragmentsin classAbstractCollectionPersister
-
getFilterAliasGenerator
- Specified by:
getFilterAliasGeneratorin classAbstractCollectionPersister
-
getFilterAliasGenerator
- Specified by:
getFilterAliasGeneratorin classAbstractCollectionPersister
-
generateDeleteAllAst
public RestrictedTableMutation<JdbcMutationOperation> generateDeleteAllAst(MutatingTableReference tableReference) - Overrides:
generateDeleteAllAstin classAbstractCollectionPersister
-
generateDeleteRowAst
public RestrictedTableMutation<JdbcMutationOperation> generateDeleteRowAst(MutatingTableReference tableReference)
-