Class ExtendedOneToManyPersister
java.lang.Object
org.hibernate.persister.collection.AbstractCollectionPersister
org.hibernate.persister.collection.OneToManyPersister
ch.tocco.nice2.persist.core.impl.hibernate.persister.ExtendedOneToManyPersister
- All Implemented Interfaces:
org.hibernate.metadata.CollectionMetadata
,org.hibernate.persister.collection.CollectionPersister
,org.hibernate.persister.collection.QueryableCollection
,org.hibernate.persister.collection.SQLLoadableCollection
,org.hibernate.persister.entity.Joinable
,org.hibernate.persister.entity.PropertyMapping
,org.hibernate.persister.walking.spi.CollectionDefinition
public class ExtendedOneToManyPersister
extends org.hibernate.persister.collection.OneToManyPersister
Overrides
CollectionPersister.isAffectedByEnabledFilters(SharedSessionContractImplementor)
and always returns
true. Even though we don't use hibernate filters, we have a similar concept (QueryBuilderInterceptor
) with
similar side effects and want the same behaviour.
In addition it wraps the superclass' CollectionInitializer
with LazyCollectionInitializer
. As we have a
custom collection initialization mechanism (ExtendedInitializeCollectionEventListener
), the initializers of
the superclass are probably never used. Therefore we don't initialize them until necessary, as they take up a lot of memory.-
Field Summary
Fields inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
batchSize, elementColumnAliases, elementColumnIsGettable, elementColumnIsInPrimaryKey, elementColumnIsSettable, elementColumnNames, elementColumnReaders, elementColumnReaderTemplates, elementColumnWriters, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasIdentifier, hasIndex, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsGettable, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, isInverse, keyColumnAliases, keyColumnNames, qualifiedTableName, recreateBatchKey, sqlExceptionHelper, sqlWhereString
-
Constructor Summary
ConstructorDescriptionExtendedOneToManyPersister
(org.hibernate.mapping.Collection collectionBinding, org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy, org.hibernate.persister.spi.PersisterCreationContext creationContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.hibernate.loader.collection.CollectionInitializer
createCollectionInitializer
(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers) boolean
isAffectedByEnabledFilters
(org.hibernate.engine.spi.SharedSessionContractImplementor session) Methods inherited from class org.hibernate.persister.collection.OneToManyPersister
consumesCollectionAlias, consumesEntityAlias, createSubselectInitializer, doProcessQueuedOps, doUpdateRows, filterFragment, filterFragment, fromJoinFragment, fromJoinFragment, generateDeleteRowString, generateDeleteString, generateInsertRowString, generateUpdateRowString, getElementByIndex, getFilterAliasGenerator, getTableName, insertRows, isCascadeDeleteEnabled, isManyToMany, isOneToMany, isRowDeleteEnabled, isRowInsertEnabled, recreate, selectFragment, whereJoinFragment, whereJoinFragment
Methods inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
appendElementColumns, appendIdentifierColumns, appendIndexColumns, createDelete, createInsert, createUpdate, decrementIndexByBase, deleteRows, determineTableName, doProcessQueuedOps, elementExists, filterFragment, filterFragment, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectFragment, generateSelectRowByIndexString, generateSelectSizeString, getAppropriateInitializer, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionPersister, getCollectionPropertyColumnAliases, getCollectionSpaces, getCollectionType, getDeleteAllCheckStyle, getDeleteCheckStyle, getDialect, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementDefinition, getElementPersister, getElementType, getFactory, getFetchMode, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexDefinition, getIndexFormulas, getIndexType, getInitializer, getInsertCheckStyle, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getMappedByProperty, getName, getNavigableRole, getOwnerEntityName, getOwnerEntityPersister, getRole, getSize, getSQLDeleteRowString, getSQLDeleteString, getSQLExceptionConverter, getSQLExceptionHelper, getSQLInsertRowString, getSQLOrderByString, getSQLUpdateRowString, getSQLWhereString, getType, getUpdateCheckStyle, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasWhere, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, isArray, isCollection, isDeleteAllCallable, isDeleteCallable, isExtraLazy, isInsertCallable, isInverse, isLazy, isMutable, isPrimitiveArray, isSubselectLoadable, isUpdateCallable, isVersioned, logStaticSQL, oneToManyFilterFragment, oneToManyFilterFragment, postInstantiate, processQueuedOps, readElement, readIdentifier, readIndex, readKey, remove, selectFragment, toColumns, toColumns, toString, toType, updateRows, writeElement, writeElementToWhere, writeIdentifier, writeIndex, writeIndexToWhere, writeKey
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.hibernate.persister.entity.Joinable
fromJoinFragment
-
Constructor Details
-
ExtendedOneToManyPersister
public ExtendedOneToManyPersister(org.hibernate.mapping.Collection collectionBinding, org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy, org.hibernate.persister.spi.PersisterCreationContext creationContext) throws org.hibernate.MappingException, org.hibernate.cache.CacheException - Throws:
org.hibernate.MappingException
org.hibernate.cache.CacheException
-
-
Method Details
-
createCollectionInitializer
protected org.hibernate.loader.collection.CollectionInitializer createCollectionInitializer(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers) throws org.hibernate.MappingException - Overrides:
createCollectionInitializer
in classorg.hibernate.persister.collection.OneToManyPersister
- Throws:
org.hibernate.MappingException