public abstract class AbstractCollectionPersister extends Object implements CollectionMetadata, SQLLoadableCollection
Base implementation of the <tt>QueryableCollection</tt> interface.
BasicCollectionPersister
,
OneToManyPersister
Constructor and Description |
---|
AbstractCollectionPersister(Collection collectionBinding,
CollectionDataAccess cacheAccessStrategy,
PersisterCreationContext creationContext) |
Modifier and Type | Method and Description |
---|---|
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(LoadQueryInfluencers loadQueryInfluencers) |
protected abstract CollectionInitializer |
createSubselectInitializer(SubselectFetch subselect,
SharedSessionContractImplementor session) |
protected Object |
decrementIndexByBase(Object index) |
void |
deleteRows(PersistentCollection collection,
Serializable id,
SharedSessionContractImplementor session)
Delete the persistent state of any elements that were removed from
the collection
|
protected String |
determineTableName(Table table,
JdbcEnvironment jdbcEnvironment) |
protected void |
doProcessQueuedOps(PersistentCollection collection,
Serializable key,
int nextIndex,
SharedSessionContractImplementor session)
|
protected abstract void |
doProcessQueuedOps(PersistentCollection collection,
Serializable key,
SharedSessionContractImplementor session) |
protected abstract int |
doUpdateRows(Serializable key,
PersistentCollection collection,
SharedSessionContractImplementor session) |
boolean |
elementExists(Serializable key,
Object element,
SharedSessionContractImplementor 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
|
String |
filterFragment(String alias,
Map enabledFilters,
Set<String> treatAsDeclarations)
Get the where clause filter, given a query alias and considering enabled session filters
|
protected String |
filterFragment(String alias,
Set<String> treatAsDeclarations) |
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,
SharedSessionContractImplementor session) |
int |
getBatchSize() |
CollectionDataAccess |
getCacheAccessStrategy()
Get the cache
|
CacheEntryStructure |
getCacheEntryStructure()
Get the cache structure
|
CollectionMetadata |
getCollectionMetadata() |
CollectionPersister |
getCollectionPersister() |
String[] |
getCollectionPropertyColumnAliases(String propertyName,
String suffix) |
Serializable[] |
getCollectionSpaces()
Get the "space" that holds the persistent state
|
CollectionType |
getCollectionType()
Get the associated <tt>Type</tt>
|
protected ExecuteUpdateResultCheckStyle |
getDeleteAllCheckStyle() |
protected ExecuteUpdateResultCheckStyle |
getDeleteCheckStyle() |
protected Dialect |
getDialect() |
Object |
getElementByIndex(Serializable key,
Object index,
SharedSessionContractImplementor 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
|
CollectionElementDefinition |
getElementDefinition() |
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?
|
abstract org.hibernate.internal.FilterAliasGenerator |
getFilterAliasGenerator(String rootAlias) |
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
|
CollectionIndexDefinition |
getIndexDefinition() |
String[] |
getIndexFormulas()
Get the index formulas if this is an indexed collection
(optional operation)
|
Type |
getIndexType()
The collection index type (or null if the collection has no index)
|
CollectionInitializer |
getInitializer()
Intended for internal use only.
|
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 |
getMappedByProperty() |
String |
getName()
An identifying name; a class name or collection role name.
|
NavigableRole |
getNavigableRole() |
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,
SharedSessionContractImplementor session) |
protected String |
getSQLDeleteRowString() |
protected String |
getSQLDeleteString() |
protected SQLExceptionConverter |
getSQLExceptionConverter() |
protected SqlExceptionHelper |
getSQLExceptionHelper() |
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,
SharedSessionContractImplementor session) |
void |
initCollectionPropertyMap() |
void |
initialize(Serializable key,
SharedSessionContractImplementor session)
Initialize the given collection with the given key
TODO: add owner argument!!
|
void |
insertRows(PersistentCollection collection,
Serializable id,
SharedSessionContractImplementor session)
Insert the persistent state of any new collection elements
|
boolean |
isAffectedByEnabledFilters(SharedSessionContractImplementor 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) |
String |
oneToManyFilterFragment(String alias,
Set<String> treatAsDeclarations) |
void |
postInstantiate() |
void |
processQueuedOps(PersistentCollection collection,
Serializable key,
SharedSessionContractImplementor session)
Process queued operations within the PersistentCollection.
|
Object |
readElement(ResultSet rs,
Object owner,
String[] aliases,
SharedSessionContractImplementor session)
Read the element from a row of the JDBC <tt>ResultSet</tt>
|
Object |
readIdentifier(ResultSet rs,
String alias,
SharedSessionContractImplementor session)
Read the identifier from a row of the JDBC <tt>ResultSet</tt>
|
Object |
readIndex(ResultSet rs,
String[] aliases,
SharedSessionContractImplementor session)
Read the index from a row of the JDBC <tt>ResultSet</tt>
|
Object |
readKey(ResultSet rs,
String[] aliases,
SharedSessionContractImplementor session)
Read the key from a row of the JDBC <tt>ResultSet</tt>
|
void |
recreate(PersistentCollection collection,
Serializable id,
SharedSessionContractImplementor session)
(Re)create the collection’s persistent state
|
void |
remove(Serializable id,
SharedSessionContractImplementor 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)
Obtain aliased column/formula fragments for the specified property path.
|
String |
toString() |
Type |
toType(String propertyName)
Given a component path expression, get the type of the property
|
void |
updateRows(PersistentCollection collection,
Serializable id,
SharedSessionContractImplementor session)
Update the persistent state of any elements that were modified
|
protected int |
writeElement(PreparedStatement st,
Object elt,
int i,
SharedSessionContractImplementor session)
Write the element to a JDBC <tt>PreparedStatement</tt>
|
protected int |
writeElementToWhere(PreparedStatement st,
Object elt,
int i,
SharedSessionContractImplementor session)
Write the element to a JDBC <tt>PreparedStatement</tt>
|
int |
writeIdentifier(PreparedStatement st,
Object id,
int i,
SharedSessionContractImplementor session)
Write the identifier to a JDBC <tt>PreparedStatement</tt>
|
protected int |
writeIndex(PreparedStatement st,
Object index,
int i,
SharedSessionContractImplementor session)
Write the index to a JDBC <tt>PreparedStatement</tt>
|
protected int |
writeIndexToWhere(PreparedStatement st,
Object index,
int i,
SharedSessionContractImplementor session)
Write the index to a JDBC <tt>PreparedStatement</tt>
|
protected int |
writeKey(PreparedStatement st,
Serializable key,
int i,
SharedSessionContractImplementor session)
Write the key to a JDBC <tt>PreparedStatement</tt>
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
consumesCollectionAlias, consumesEntityAlias, fromJoinFragment, fromJoinFragment, selectFragment, whereJoinFragment, whereJoinFragment
isCascadeDeleteEnabled, isOneToMany
protected final boolean hasWhere
protected final String sqlWhereString
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[] indexColumnIsGettable
protected final boolean[] indexColumnIsSettable
protected final String[] elementColumnNames
protected final String[] elementColumnWriters
protected final String[] elementColumnReaders
protected final String[] elementColumnReaderTemplates
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 boolean isInverse
protected final int batchSize
protected final SqlExceptionHelper sqlExceptionHelper
protected org.hibernate.engine.jdbc.batch.internal.BasicBatchKey recreateBatchKey
public AbstractCollectionPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext) throws MappingException, CacheException
MappingException
CacheException
protected String determineTableName(Table table, JdbcEnvironment jdbcEnvironment)
public void postInstantiate() throws MappingException
postInstantiate
in interface CollectionPersister
MappingException
protected void logStaticSQL()
public void initialize(Serializable key, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
Initialize the given collection with the given key TODO: add owner argument!!
initialize
in interface CollectionPersister
HibernateException
protected CollectionInitializer getAppropriateInitializer(Serializable key, SharedSessionContractImplementor session)
protected abstract CollectionInitializer createSubselectInitializer(SubselectFetch subselect, SharedSessionContractImplementor session)
protected abstract CollectionInitializer createCollectionInitializer(LoadQueryInfluencers loadQueryInfluencers) throws MappingException
MappingException
public NavigableRole getNavigableRole()
getNavigableRole
in interface CollectionPersister
public CollectionDataAccess getCacheAccessStrategy()
CollectionPersister
Get the cache
getCacheAccessStrategy
in interface CollectionPersister
public boolean hasCache()
CollectionPersister
Is this collection role cacheable
hasCache
in interface CollectionPersister
public CollectionType getCollectionType()
CollectionPersister
Get the associated <tt>Type</tt>
getCollectionType
in interface CollectionPersister
getCollectionType
in interface CollectionDefinition
public String getSQLOrderByString(String alias)
QueryableCollection
Get the order by SQL
getSQLOrderByString
in interface QueryableCollection
public String getManyToManyOrderByString(String alias)
QueryableCollection
Get the order-by to be applied at the target table of a many to many
getManyToManyOrderByString
in interface QueryableCollection
alias
- The alias for the many-to-many target tablepublic FetchMode getFetchMode()
QueryableCollection
Should we load this collection role by outerjoining?
getFetchMode
in interface QueryableCollection
public boolean hasOrdering()
CollectionPersister
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.)
hasOrdering
in interface CollectionPersister
public boolean hasManyToManyOrdering()
hasManyToManyOrdering
in interface CollectionPersister
public boolean hasWhere()
QueryableCollection
Does this collection role have a where clause filter?
hasWhere
in interface QueryableCollection
protected String getSQLDeleteString()
protected String getSQLInsertRowString()
protected String getSQLUpdateRowString()
protected String getSQLDeleteRowString()
public Type getKeyType()
CollectionMetadata
The collection key type
getKeyType
in interface CollectionMetadata
getKeyType
in interface CollectionPersister
public Type getIndexType()
CollectionMetadata
The collection index type (or null if the collection has no index)
getIndexType
in interface CollectionMetadata
getIndexType
in interface CollectionPersister
public Type getElementType()
CollectionMetadata
The collection element type
getElementType
in interface CollectionMetadata
getElementType
in interface CollectionPersister
public Class getElementClass()
Return the element class of an array, or null otherwise. needed by arrays
getElementClass
in interface CollectionPersister
public Object readElement(ResultSet rs, Object owner, String[] aliases, SharedSessionContractImplementor session) throws HibernateException, SQLException
CollectionPersister
Read the element from a row of the JDBC <tt>ResultSet</tt>
readElement
in interface CollectionPersister
HibernateException
SQLException
public Object readIndex(ResultSet rs, String[] aliases, SharedSessionContractImplementor session) throws HibernateException, SQLException
CollectionPersister
Read the index from a row of the JDBC <tt>ResultSet</tt>
readIndex
in interface CollectionPersister
HibernateException
SQLException
public Object readIdentifier(ResultSet rs, String alias, SharedSessionContractImplementor session) throws HibernateException, SQLException
CollectionPersister
Read the identifier from a row of the JDBC <tt>ResultSet</tt>
readIdentifier
in interface CollectionPersister
HibernateException
SQLException
public Object readKey(ResultSet rs, String[] aliases, SharedSessionContractImplementor session) throws HibernateException, SQLException
CollectionPersister
Read the key from a row of the JDBC <tt>ResultSet</tt>
readKey
in interface CollectionPersister
HibernateException
SQLException
protected int writeKey(PreparedStatement st, Serializable key, int i, SharedSessionContractImplementor session) throws HibernateException, SQLException
Write the key to a JDBC <tt>PreparedStatement</tt>
HibernateException
SQLException
protected int writeElement(PreparedStatement st, Object elt, int i, SharedSessionContractImplementor session) throws HibernateException, SQLException
Write the element to a JDBC <tt>PreparedStatement</tt>
HibernateException
SQLException
protected int writeIndex(PreparedStatement st, Object index, int i, SharedSessionContractImplementor session) throws HibernateException, SQLException
Write the index to a JDBC <tt>PreparedStatement</tt>
HibernateException
SQLException
protected int writeElementToWhere(PreparedStatement st, Object elt, int i, SharedSessionContractImplementor session) throws HibernateException, SQLException
Write the element to a JDBC <tt>PreparedStatement</tt>
HibernateException
SQLException
protected int writeIndexToWhere(PreparedStatement st, Object index, int i, SharedSessionContractImplementor session) throws HibernateException, SQLException
Write the index to a JDBC <tt>PreparedStatement</tt>
HibernateException
SQLException
public int writeIdentifier(PreparedStatement st, Object id, int i, SharedSessionContractImplementor session) throws HibernateException, SQLException
Write the identifier to a JDBC <tt>PreparedStatement</tt>
HibernateException
SQLException
public boolean isPrimitiveArray()
CollectionMetadata
Is the collection a primitive array?
isPrimitiveArray
in interface CollectionMetadata
isPrimitiveArray
in interface CollectionPersister
public boolean isArray()
CollectionMetadata
Is the collection an array?
isArray
in interface CollectionMetadata
isArray
in interface CollectionPersister
public String[] getKeyColumnAliases(String suffix)
CollectionPersister
Generates the collection’s key column aliases, based on the given suffix.
getKeyColumnAliases
in interface CollectionPersister
suffix
- The suffix to use in the key column alias generation.public String[] getElementColumnAliases(String suffix)
CollectionPersister
Generates the collection’s element column aliases, based on the given suffix.
getElementColumnAliases
in interface CollectionPersister
suffix
- The suffix to use in the element column alias generation.public String[] getIndexColumnAliases(String suffix)
CollectionPersister
Generates the collection’s index column aliases, based on the given suffix.
getIndexColumnAliases
in interface CollectionPersister
suffix
- The suffix to use in the index column alias generation.public String getIdentifierColumnAlias(String suffix)
CollectionPersister
Generates the collection’s identifier column aliases, based on the given suffix.
getIdentifierColumnAlias
in interface CollectionPersister
suffix
- The suffix to use in the key column alias generation.public String getIdentifierColumnName()
getIdentifierColumnName
in interface SQLLoadableCollection
public String selectFragment(String alias, String columnSuffix)
Generate a list of collection index, key and element columns
selectFragment
in interface QueryableCollection
protected String generateSelectSizeString(boolean isIntegerIndexed)
protected String generateDetectRowByIndexString()
protected String generateSelectRowByIndexString()
protected String generateDetectRowByElementString()
protected SelectFragment generateSelectFragment(String alias, String columnSuffix)
protected void appendElementColumns(SelectFragment frag, String elemAlias)
protected void appendIndexColumns(SelectFragment frag, String alias)
protected void appendIdentifierColumns(SelectFragment frag, String alias)
public String[] getIndexColumnNames()
QueryableCollection
Get the names of the collection index columns if this is an indexed collection (optional operation)
getIndexColumnNames
in interface QueryableCollection
public String[] getIndexFormulas()
QueryableCollection
Get the index formulas if this is an indexed collection (optional operation)
getIndexFormulas
in interface QueryableCollection
public String[] getIndexColumnNames(String alias)
QueryableCollection
Get the names of the collection index columns if this is an indexed collection (optional operation), aliased by the given table alias
getIndexColumnNames
in interface QueryableCollection
public String[] getElementColumnNames(String alias)
QueryableCollection
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
getElementColumnNames
in interface QueryableCollection
public String[] getElementColumnNames()
QueryableCollection
Get the names of the collection element columns (or the primary key columns in the case of a one-to-many association)
getElementColumnNames
in interface QueryableCollection
public String[] getKeyColumnNames()
Joinable
The columns to join on
getKeyColumnNames
in interface Joinable
public boolean hasIndex()
CollectionMetadata
Is this collection indexed?
hasIndex
in interface CollectionMetadata
hasIndex
in interface CollectionPersister
public boolean isLazy()
CollectionMetadata
Is the collection lazily initialized?
isLazy
in interface CollectionMetadata
isLazy
in interface CollectionPersister
public boolean isInverse()
CollectionPersister
Is this collection "inverse", so state changes are not propogated to the database.
isInverse
in interface CollectionPersister
public String getTableName()
Joinable
The table to join to.
getTableName
in interface Joinable
public void remove(Serializable id, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
Completely remove the persistent state of the collection
remove
in interface CollectionPersister
HibernateException
public void recreate(PersistentCollection collection, Serializable id, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
(Re)create the collection’s persistent state
recreate
in interface CollectionPersister
HibernateException
protected boolean isRowDeleteEnabled()
public void deleteRows(PersistentCollection collection, Serializable id, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
Delete the persistent state of any elements that were removed from the collection
deleteRows
in interface CollectionPersister
HibernateException
protected boolean isRowInsertEnabled()
public void insertRows(PersistentCollection collection, Serializable id, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
Insert the persistent state of any new collection elements
insertRows
in interface CollectionPersister
HibernateException
public String getRole()
CollectionMetadata
The name of this collection role
getRole
in interface CollectionMetadata
getRole
in interface CollectionPersister
public String getOwnerEntityName()
public EntityPersister getOwnerEntityPersister()
CollectionPersister
Get the persister of the entity that "owns" this collection
getOwnerEntityPersister
in interface CollectionPersister
public IdentifierGenerator getIdentifierGenerator()
CollectionPersister
Get the surrogate key generation strategy (optional operation)
getIdentifierGenerator
in interface CollectionPersister
public Type getIdentifierType()
CollectionPersister
Get the type of the surrogate key
getIdentifierType
in interface CollectionPersister
public boolean hasOrphanDelete()
CollectionPersister
Does this collection implement "orphan delete"?
hasOrphanDelete
in interface CollectionPersister
public Type toType(String propertyName) throws QueryException
PropertyMapping
Given a component path expression, get the type of the property
toType
in interface PropertyMapping
QueryException
public abstract boolean isManyToMany()
CollectionPersister
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.
isManyToMany
in interface CollectionPersister
public String getManyToManyFilterFragment(String alias, Map enabledFilters)
getManyToManyFilterFragment
in interface CollectionPersister
public String[] toColumns(String alias, String propertyName) throws QueryException
PropertyMapping
Obtain aliased column/formula fragments for the specified property path.
toColumns
in interface PropertyMapping
QueryException
public String[] toColumns(String propertyName) throws QueryException
PropertyMapping
Given a property path, return the corresponding column name(s).
toColumns
in interface PropertyMapping
QueryException
public Type getType()
PropertyMapping
Get the type of the thing containing the properties
getType
in interface PropertyMapping
public String getName()
Joinable
An identifying name; a class name or collection role name.
public EntityPersister getElementPersister()
QueryableCollection
Get the persister of the element class, if this is a collection of entities (optional operation). Note that for a one-to-many association, the returned persister must be <tt>OuterJoinLoadable</tt>.
getElementPersister
in interface QueryableCollection
public boolean isCollection()
Joinable
Is this instance actually a CollectionPersister?
isCollection
in interface Joinable
public Serializable[] getCollectionSpaces()
CollectionPersister
Get the "space" that holds the persistent state
getCollectionSpaces
in interface CollectionPersister
protected abstract String generateDeleteString()
protected abstract String generateDeleteRowString()
protected abstract String generateUpdateRowString()
protected abstract String generateInsertRowString()
public void updateRows(PersistentCollection collection, Serializable id, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
Update the persistent state of any elements that were modified
updateRows
in interface CollectionPersister
HibernateException
protected abstract int doUpdateRows(Serializable key, PersistentCollection collection, SharedSessionContractImplementor session) throws HibernateException
HibernateException
public void processQueuedOps(PersistentCollection collection, Serializable key, SharedSessionContractImplementor session) throws HibernateException
CollectionPersister
Process queued operations within the PersistentCollection.
processQueuedOps
in interface CollectionPersister
HibernateException
@Deprecated protected void doProcessQueuedOps(PersistentCollection collection, Serializable key, int nextIndex, SharedSessionContractImplementor session) throws HibernateException
Process queued operations within the PersistentCollection.
collection
- The collectionkey
- The collection keynextIndex
- The next index to writesession
- The sessionHibernateException
protected abstract void doProcessQueuedOps(PersistentCollection collection, Serializable key, SharedSessionContractImplementor session) throws HibernateException
HibernateException
public CollectionMetadata getCollectionMetadata()
getCollectionMetadata
in interface CollectionPersister
public SessionFactoryImplementor getFactory()
getFactory
in interface CollectionPersister
protected String filterFragment(String alias) throws MappingException
MappingException
protected String filterFragment(String alias, Set<String> treatAsDeclarations) throws MappingException
MappingException
public String filterFragment(String alias, Map enabledFilters) throws MappingException
Joinable
Get the where clause filter, given a query alias and considering enabled session filters
filterFragment
in interface Joinable
MappingException
public String filterFragment(String alias, Map enabledFilters, Set<String> treatAsDeclarations)
Joinable
Get the where clause filter, given a query alias and considering enabled session filters
filterFragment
in interface Joinable
public String oneToManyFilterFragment(String alias) throws MappingException
oneToManyFilterFragment
in interface Joinable
MappingException
public String oneToManyFilterFragment(String alias, Set<String> treatAsDeclarations)
oneToManyFilterFragment
in interface Joinable
protected boolean isInsertCallable()
protected ExecuteUpdateResultCheckStyle getInsertCheckStyle()
protected boolean isUpdateCallable()
protected ExecuteUpdateResultCheckStyle getUpdateCheckStyle()
protected boolean isDeleteCallable()
protected ExecuteUpdateResultCheckStyle getDeleteCheckStyle()
protected boolean isDeleteAllCallable()
protected ExecuteUpdateResultCheckStyle getDeleteAllCheckStyle()
public boolean isVersioned()
CollectionPersister
Does this collection cause version increment of the owning entity?
isVersioned
in interface CollectionPersister
protected SQLExceptionConverter getSQLExceptionConverter()
protected SqlExceptionHelper getSQLExceptionHelper()
public CacheEntryStructure getCacheEntryStructure()
CollectionPersister
Get the cache structure
getCacheEntryStructure
in interface CollectionPersister
public boolean isAffectedByEnabledFilters(SharedSessionContractImplementor session)
isAffectedByEnabledFilters
in interface CollectionPersister
public boolean isSubselectLoadable()
public boolean isMutable()
CollectionPersister
Can the elements of this collection change?
isMutable
in interface CollectionPersister
public String[] getCollectionPropertyColumnAliases(String propertyName, String suffix)
getCollectionPropertyColumnAliases
in interface SQLLoadableCollection
public void initCollectionPropertyMap()
public int getSize(Serializable key, SharedSessionContractImplementor session)
getSize
in interface CollectionPersister
public boolean indexExists(Serializable key, Object index, SharedSessionContractImplementor session)
indexExists
in interface CollectionPersister
public boolean elementExists(Serializable key, Object element, SharedSessionContractImplementor session)
elementExists
in interface CollectionPersister
public Object getElementByIndex(Serializable key, Object index, SharedSessionContractImplementor session, Object owner)
getElementByIndex
in interface CollectionPersister
public boolean isExtraLazy()
isExtraLazy
in interface CollectionPersister
protected Dialect getDialect()
public CollectionInitializer getInitializer()
Intended for internal use only. In fact really only currently used from test suite for assertion purposes.
public int getBatchSize()
getBatchSize
in interface CollectionPersister
public String getMappedByProperty()
getMappedByProperty
in interface CollectionPersister
public abstract org.hibernate.internal.FilterAliasGenerator getFilterAliasGenerator(String rootAlias)
public CollectionPersister getCollectionPersister()
getCollectionPersister
in interface CollectionDefinition
public CollectionIndexDefinition getIndexDefinition()
getIndexDefinition
in interface CollectionDefinition
public CollectionElementDefinition getElementDefinition()
getElementDefinition
in interface CollectionDefinition
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.