|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.hibernate.persister.collection.AbstractCollectionPersister
Base implementation of the QueryableCollection interface.
BasicCollectionPersister,
OneToManyPersister| Field Summary | |
protected int |
batchSize
|
protected String[] |
elementColumnAliases
|
protected boolean[] |
elementColumnIsInPrimaryKey
|
protected boolean[] |
elementColumnIsSettable
|
protected String[] |
elementColumnNames
|
protected String[] |
elementFormulas
|
protected String[] |
elementFormulaTemplates
|
protected boolean |
elementIsPureFormula
|
protected Type |
elementType
|
protected boolean |
hasIdentifier
|
protected boolean |
hasIndex
|
protected boolean |
hasWhere
|
protected String |
identifierColumnName
|
protected String[] |
indexColumnAliases
|
protected boolean[] |
indexColumnIsSettable
|
protected String[] |
indexColumnNames
|
protected boolean |
indexContainsFormula
|
protected String[] |
indexFormulas
|
protected String[] |
indexFormulaTemplates
|
protected String[] |
keyColumnAliases
|
protected String[] |
keyColumnNames
|
protected String |
qualifiedTableName
|
protected String |
sqlWhereString
|
| Constructor Summary | |
AbstractCollectionPersister(Collection collection,
CacheConcurrencyStrategy cache,
Configuration cfg,
SessionFactoryImplementor factory)
|
|
| Method Summary | |
protected void |
appendElementColumns(SelectFragment frag,
String elemAlias)
|
protected void |
appendIdentifierColumns(SelectFragment frag,
String alias)
|
protected void |
appendIndexColumns(SelectFragment frag,
String alias)
|
protected abstract CollectionInitializer |
createCollectionInitializer(Map enabledFilters)
|
protected abstract CollectionInitializer |
createSubselectInitializer(SubselectFetch subselect,
SessionImplementor session)
|
protected Object |
decrementIndexByBase(Object index)
|
void |
deleteRows(PersistentCollection collection,
Serializable id,
SessionImplementor session)
Delete the persistent state of any elements that were removed from the collection |
protected abstract int |
doUpdateRows(Serializable key,
PersistentCollection collection,
SessionImplementor session)
|
boolean |
elementExists(Serializable key,
Object element,
SessionImplementor session)
|
protected String |
filterFragment(String alias)
|
String |
filterFragment(String alias,
Map enabledFilters)
Get the where clause filter, given a query alias and considering enabled session filters |
protected abstract String |
generateDeleteRowString()
|
protected abstract String |
generateDeleteString()
|
protected String |
generateDetectRowByElementString()
|
protected String |
generateDetectRowByIndexString()
|
protected abstract String |
generateInsertRowString()
|
protected SelectFragment |
generateSelectFragment(String alias,
String columnSuffix)
|
protected String |
generateSelectRowByIndexString()
|
protected String |
generateSelectSizeString(boolean isIntegerIndexed)
|
protected abstract String |
generateUpdateRowString()
|
protected CollectionInitializer |
getAppropriateInitializer(Serializable key,
SessionImplementor session)
|
CacheConcurrencyStrategy |
getCache()
Get the cache |
CacheEntryStructure |
getCacheEntryStructure()
Get the cache structure |
CollectionMetadata |
getCollectionMetadata()
|
String[] |
getCollectionPropertyColumnAliases(String propertyName,
String suffix)
|
Serializable[] |
getCollectionSpaces()
Get the "space" that holds the persistent state |
CollectionType |
getCollectionType()
Get the associated Type |
protected ExecuteUpdateResultCheckStyle |
getDeleteAllCheckStyle()
|
protected ExecuteUpdateResultCheckStyle |
getDeleteCheckStyle()
|
protected Dialect |
getDialect()
|
Object |
getElementByIndex(Serializable key,
Object index,
SessionImplementor session,
Object owner)
|
Class |
getElementClass()
Return the element class of an array, or null otherwise |
String[] |
getElementColumnAliases(String suffix)
Generates the collection's element column aliases, based on the given suffix. |
String[] |
getElementColumnNames()
Get the names of the collection element columns (or the primary key columns in the case of a one-to-many association) |
String[] |
getElementColumnNames(String alias)
Get the names of the collection element columns (or the primary key columns in the case of a one-to-many association), aliased by the given table alias |
String |
getElementNodeName()
|
EntityPersister |
getElementPersister()
Get the persister of the element class, if this is a collection of entities (optional operation). |
Type |
getElementType()
The collection element type |
SessionFactoryImplementor |
getFactory()
|
FetchMode |
getFetchMode()
Should we load this collection role by outerjoining? |
String |
getIdentifierColumnAlias(String suffix)
Generates the collection's identifier column aliases, based on the given suffix. |
String |
getIdentifierColumnName()
|
IdentifierGenerator |
getIdentifierGenerator()
Get the surrogate key generation strategy (optional operation) |
Type |
getIdentifierType()
Get the type of the surrogate key |
String[] |
getIndexColumnAliases(String suffix)
Generates the collection's index column aliases, based on the given suffix. |
String[] |
getIndexColumnNames()
Get the names of the collection index columns if this is an indexed collection (optional operation) |
String[] |
getIndexColumnNames(String alias)
Get the names of the collection index columns if this is an indexed collection (optional operation), aliased by the given table alias |
String[] |
getIndexFormulas()
Get the index formulas if this is an indexed collection (optional operation) |
String |
getIndexNodeName()
|
Type |
getIndexType()
The collection index type (or null if the collection has no index) |
protected ExecuteUpdateResultCheckStyle |
getInsertCheckStyle()
|
String[] |
getKeyColumnAliases(String suffix)
Generates the collection's key column aliases, based on the given suffix. |
String[] |
getKeyColumnNames()
The columns to join on |
Type |
getKeyType()
The collection key type |
String |
getManyToManyFilterFragment(String alias,
Map enabledFilters)
|
String |
getManyToManyOrderByString(String alias)
Get the order-by to be applied at the target table of a many to many |
String |
getName()
An identifying name; a class name or collection role name. |
String |
getNodeName()
|
String |
getOwnerEntityName()
|
EntityPersister |
getOwnerEntityPersister()
Get the persister of the entity that "owns" this collection |
String |
getRole()
The name of this collection role |
int |
getSize(Serializable key,
SessionImplementor session)
|
protected String |
getSQLDeleteRowString()
|
protected String |
getSQLDeleteString()
|
protected SQLExceptionConverter |
getSQLExceptionConverter()
|
protected String |
getSQLInsertRowString()
|
String |
getSQLOrderByString(String alias)
Get the order by SQL |
protected String |
getSQLUpdateRowString()
|
protected String |
getSQLWhereString(String alias)
|
String |
getTableName()
The table to join to. |
Type |
getType()
Get the type of the thing containing the properties |
protected ExecuteUpdateResultCheckStyle |
getUpdateCheckStyle()
|
boolean |
hasCache()
Is this collection role cacheable |
boolean |
hasIndex()
Is this collection indexed? |
boolean |
hasManyToManyOrdering()
|
boolean |
hasOrdering()
Is this an ordered collection? (An ordered collection is ordered by the initialization operation, not by sorting that happens in memory, as in the case of a sorted collection.) |
boolean |
hasOrphanDelete()
Does this collection implement "orphan delete"? |
boolean |
hasWhere()
Does this collection role have a where clause filter? |
protected Object |
incrementIndexByBase(Object index)
|
boolean |
indexExists(Serializable key,
Object index,
SessionImplementor session)
|
void |
initCollectionPropertyMap()
|
void |
initialize(Serializable key,
SessionImplementor session)
Initialize the given collection with the given key |
void |
insertRows(PersistentCollection collection,
Serializable id,
SessionImplementor session)
Insert the persistent state of any new collection elements |
boolean |
isAffectedByEnabledFilters(SessionImplementor session)
|
boolean |
isArray()
Is the collection an array? |
boolean |
isCollection()
Is this instance actually a CollectionPersister? |
protected boolean |
isDeleteAllCallable()
|
protected boolean |
isDeleteCallable()
|
boolean |
isExtraLazy()
|
protected boolean |
isInsertCallable()
|
boolean |
isInverse()
Is this collection "inverse", so state changes are not propogated to the database. |
boolean |
isLazy()
Is the collection lazily initialized? |
abstract boolean |
isManyToMany()
Is this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not conatin all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones. |
boolean |
isMutable()
Can the elements of this collection change? |
boolean |
isPrimitiveArray()
Is the collection a primitive array? |
protected boolean |
isRowDeleteEnabled()
|
protected boolean |
isRowInsertEnabled()
|
boolean |
isSubselectLoadable()
|
protected boolean |
isUpdateCallable()
|
boolean |
isVersioned()
Does this collection cause version increment of the owning entity? |
protected void |
logStaticSQL()
|
String |
oneToManyFilterFragment(String alias)
|
void |
postInstantiate()
|
Object |
readElement(ResultSet rs,
Object owner,
String[] aliases,
SessionImplementor session)
Read the element from a row of the JDBC ResultSet |
Object |
readIdentifier(ResultSet rs,
String alias,
SessionImplementor session)
Read the identifier from a row of the JDBC ResultSet |
Object |
readIndex(ResultSet rs,
String[] aliases,
SessionImplementor session)
Read the index from a row of the JDBC ResultSet |
Object |
readKey(ResultSet rs,
String[] aliases,
SessionImplementor session)
Read the key from a row of the JDBC ResultSet |
void |
recreate(PersistentCollection collection,
Serializable id,
SessionImplementor session)
(Re)create the collection's persistent state |
void |
remove(Serializable id,
SessionImplementor session)
Completely remove the persistent state of the collection |
String |
selectFragment(String alias,
String columnSuffix)
Generate a list of collection index, key and element columns |
String[] |
toColumns(String propertyName)
Given a property path, return the corresponding column name(s). |
String[] |
toColumns(String alias,
String propertyName)
Given a query alias and a property path, return the qualified column name |
String |
toString()
|
Type |
toType(String propertyName)
Given a component path expression, get the type of the property |
void |
updateRows(PersistentCollection collection,
Serializable id,
SessionImplementor session)
Update the persistent state of any elements that were modified |
protected int |
writeElement(PreparedStatement st,
Object elt,
int i,
SessionImplementor session)
Write the element to a JDBC PreparedStatement |
protected int |
writeElementToWhere(PreparedStatement st,
Object elt,
int i,
SessionImplementor session)
Write the element to a JDBC PreparedStatement |
int |
writeIdentifier(PreparedStatement st,
Object id,
int i,
SessionImplementor session)
Write the identifier to a JDBC PreparedStatement |
protected int |
writeIndex(PreparedStatement st,
Object index,
int i,
SessionImplementor session)
Write the index to a JDBC PreparedStatement |
protected int |
writeIndexToWhere(PreparedStatement st,
Object index,
int i,
SessionImplementor session)
Write the index to a JDBC PreparedStatement |
protected int |
writeKey(PreparedStatement st,
Serializable key,
int i,
SessionImplementor session)
Write the key to a JDBC PreparedStatement |
| 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 |
consumesCollectionAlias, consumesEntityAlias, fromJoinFragment, selectFragment, whereJoinFragment |
| Methods inherited from interface org.hibernate.persister.collection.CollectionPersister |
isCascadeDeleteEnabled, isOneToMany |
| Field Detail |
protected final String sqlWhereString
protected final boolean hasWhere
protected final boolean indexContainsFormula
protected final boolean elementIsPureFormula
protected final Type elementType
protected final String[] keyColumnNames
protected final String[] indexColumnNames
protected final String[] indexFormulaTemplates
protected final String[] indexFormulas
protected final boolean[] indexColumnIsSettable
protected final String[] elementColumnNames
protected final String[] elementFormulaTemplates
protected final String[] elementFormulas
protected final boolean[] elementColumnIsSettable
protected final boolean[] elementColumnIsInPrimaryKey
protected final String[] indexColumnAliases
protected final String[] elementColumnAliases
protected final String[] keyColumnAliases
protected final String identifierColumnName
protected final String qualifiedTableName
protected final boolean hasIndex
protected final boolean hasIdentifier
protected final int batchSize
| Constructor Detail |
public AbstractCollectionPersister(Collection collection, CacheConcurrencyStrategy cache, Configuration cfg, SessionFactoryImplementor factory) throws MappingException, CacheException
| Method Detail |
public void postInstantiate()
throws MappingException
postInstantiate in interface CollectionPersisterMappingExceptionprotected void logStaticSQL()
public void initialize(Serializable key, SessionImplementor session) throws HibernateException
CollectionPersister
initialize in interface CollectionPersisterHibernateExceptionprotected CollectionInitializer getAppropriateInitializer(Serializable key, SessionImplementor session)
protected abstract CollectionInitializer createSubselectInitializer(SubselectFetch subselect, SessionImplementor session)
protected abstract CollectionInitializer createCollectionInitializer(Map enabledFilters) throws MappingException
MappingExceptionpublic CacheConcurrencyStrategy getCache()
CollectionPersister
getCache in interface CollectionPersisterpublic boolean hasCache()
CollectionPersister
hasCache in interface CollectionPersisterpublic CollectionType getCollectionType()
CollectionPersister
getCollectionType in interface CollectionPersisterprotected String getSQLWhereString(String alias)
public String getSQLOrderByString(String alias)
QueryableCollection
getSQLOrderByString in interface QueryableCollectionpublic String getManyToManyOrderByString(String alias)
QueryableCollection
getManyToManyOrderByString in interface QueryableCollectionalias - The alias for the many-to-many target table
public FetchMode getFetchMode()
QueryableCollection
getFetchMode in interface QueryableCollectionpublic boolean hasOrdering()
CollectionPersister
hasOrdering in interface CollectionPersisterpublic boolean hasManyToManyOrdering()
hasManyToManyOrdering in interface CollectionPersisterpublic boolean hasWhere()
QueryableCollection
hasWhere in interface QueryableCollectionprotected String getSQLDeleteString()
protected String getSQLInsertRowString()
protected String getSQLUpdateRowString()
protected String getSQLDeleteRowString()
public Type getKeyType()
CollectionMetadata
getKeyType in interface CollectionMetadatapublic Type getIndexType()
CollectionMetadata
getIndexType in interface CollectionMetadatapublic Type getElementType()
CollectionMetadata
getElementType in interface CollectionMetadatapublic Class getElementClass()
getElementClass