Class ExtendedBasicCollectionPersister

java.lang.Object
org.hibernate.persister.collection.AbstractCollectionPersister
org.hibernate.persister.collection.BasicCollectionPersister
ch.tocco.nice2.persist.core.impl.hibernate.persister.ExtendedBasicCollectionPersister
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 ExtendedBasicCollectionPersister extends org.hibernate.persister.collection.BasicCollectionPersister
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

    Constructors
    Constructor
    Description
    ExtendedBasicCollectionPersister(org.hibernate.mapping.Collection collectionBinding, org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy, org.hibernate.persister.spi.PersisterCreationContext creationContext)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected 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.BasicCollectionPersister

    consumesCollectionAlias, consumesEntityAlias, createSubselectInitializer, doProcessQueuedOps, doUpdateRows, fromJoinFragment, fromJoinFragment, generateDeleteRowString, generateDeleteString, generateInsertRowString, generateUpdateRowString, getFilterAliasGenerator, isCascadeDeleteEnabled, isManyToMany, isOneToMany, 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, filterFragment, filterFragment, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectFragment, generateSelectRowByIndexString, generateSelectSizeString, getAppropriateInitializer, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionPersister, getCollectionPropertyColumnAliases, getCollectionSpaces, getCollectionType, getDeleteAllCheckStyle, getDeleteCheckStyle, getDialect, getElementByIndex, 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, getTableName, getType, getUpdateCheckStyle, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasWhere, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, insertRows, isArray, isCollection, isDeleteAllCallable, isDeleteCallable, isExtraLazy, isInsertCallable, isInverse, isLazy, isMutable, isPrimitiveArray, isRowDeleteEnabled, isRowInsertEnabled, isSubselectLoadable, isUpdateCallable, isVersioned, logStaticSQL, oneToManyFilterFragment, oneToManyFilterFragment, postInstantiate, processQueuedOps, readElement, readIdentifier, readIndex, readKey, recreate, 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

    • ExtendedBasicCollectionPersister

      public ExtendedBasicCollectionPersister(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

    • isAffectedByEnabledFilters

      public boolean isAffectedByEnabledFilters(org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      isAffectedByEnabledFilters in interface org.hibernate.persister.collection.CollectionPersister
      Overrides:
      isAffectedByEnabledFilters in class org.hibernate.persister.collection.AbstractCollectionPersister
    • createCollectionInitializer

      protected org.hibernate.loader.collection.CollectionInitializer createCollectionInitializer(org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers) throws org.hibernate.MappingException
      Overrides:
      createCollectionInitializer in class org.hibernate.persister.collection.BasicCollectionPersister
      Throws:
      org.hibernate.MappingException