public interface CollectionPersister extends CollectionDefinition
PersisterFactory
is used, it is expected
that implementations of CollectionDefinition define a constructor accepting the following arguments:Collection
- The metadata about the collection to be handled
by the persister
CollectionRegionAccessStrategy
- the second level caching strategy for this collection
PersisterCreationContext
- access to additional
information useful while constructing the persister.
QueryableCollection
,
PersistentCollection
Modifier and Type | Method and Description |
---|---|
void |
deleteRows(PersistentCollection collection,
Serializable key,
SessionImplementor session)
Delete the persistent state of any elements that were removed from
the collection
|
boolean |
elementExists(Serializable key,
Object element,
SessionImplementor session) |
int |
getBatchSize() |
CollectionRegionAccessStrategy |
getCacheAccessStrategy()
Get the cache
|
CacheEntryStructure |
getCacheEntryStructure()
Get the cache structure
|
CollectionMetadata |
getCollectionMetadata() |
Serializable[] |
getCollectionSpaces()
Get the "space" that holds the persistent state
|
CollectionType |
getCollectionType()
Get the associated Type
|
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.
|
Type |
getElementType()
Get the "element" type
|
SessionFactoryImplementor |
getFactory() |
String |
getIdentifierColumnAlias(String suffix)
Generates the collection's identifier column aliases, based on the given
suffix.
|
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.
|
Type |
getIndexType()
Get the "index" type for a list or map (optional operation)
|
String[] |
getKeyColumnAliases(String suffix)
Generates the collection's key column aliases, based on the given
suffix.
|
Type |
getKeyType()
Get the "key" type (the type of the foreign key)
|
String |
getManyToManyFilterFragment(String alias,
Map enabledFilters) |
String |
getMappedByProperty() |
EntityPersister |
getOwnerEntityPersister()
Get the persister of the entity that "owns" this collection
|
String |
getRole()
Get the name of this collection role (the fully qualified class name,
extended by a "property path")
|
int |
getSize(Serializable key,
SessionImplementor session) |
boolean |
hasCache()
Is this collection role cacheable
|
boolean |
hasIndex()
Is this an "indexed" collection? (list or map)
|
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 |
indexExists(Serializable key,
Object index,
SessionImplementor session) |
void |
initialize(Serializable key,
SessionImplementor session)
Initialize the given collection with the given key
|
void |
insertRows(PersistentCollection collection,
Serializable key,
SessionImplementor session)
Insert the persistent state of any new collection elements
|
boolean |
isAffectedByEnabledFilters(SessionImplementor session) |
boolean |
isArray()
Is this an array?
|
boolean |
isCascadeDeleteEnabled()
Is cascade delete handled by the database-level
foreign key constraint definition?
|
boolean |
isExtraLazy() |
boolean |
isInverse()
Is this collection "inverse", so state changes are not
propogated to the database.
|
boolean |
isLazy()
Is this collection lazyily initialized?
|
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 |
isOneToMany()
Is this a one-to-many association?
|
boolean |
isPrimitiveArray()
Is this an array or primitive values?
|
boolean |
isVersioned()
Does this collection cause version increment of the
owning entity?
|
void |
postInstantiate() |
void |
processQueuedOps(PersistentCollection collection,
Serializable key,
SessionImplementor session)
Process queued operations within the PersistentCollection.
|
Object |
readElement(ResultSet rs,
Object owner,
String[] columnAliases,
SessionImplementor session)
Read the element from a row of the JDBC ResultSet
|
Object |
readIdentifier(ResultSet rs,
String columnAlias,
SessionImplementor session)
Read the identifier from a row of the JDBC ResultSet
|
Object |
readIndex(ResultSet rs,
String[] columnAliases,
SessionImplementor session)
Read the index from a row of the JDBC ResultSet
|
Object |
readKey(ResultSet rs,
String[] keyAliases,
SessionImplementor session)
Read the key from a row of the JDBC ResultSet
|
void |
recreate(PersistentCollection collection,
Serializable key,
SessionImplementor session)
(Re)create the collection's persistent state
|
void |
remove(Serializable id,
SessionImplementor session)
Completely remove the persistent state of the collection
|
void |
updateRows(PersistentCollection collection,
Serializable key,
SessionImplementor session)
Update the persistent state of any elements that were modified
|
getCollectionPersister, getElementDefinition, getIndexDefinition
void initialize(Serializable key, SessionImplementor session) throws HibernateException
HibernateException
boolean hasCache()
CollectionRegionAccessStrategy getCacheAccessStrategy()
CacheEntryStructure getCacheEntryStructure()
CollectionType getCollectionType()
getCollectionType
in interface CollectionDefinition
Type getKeyType()
Type getIndexType()
Type getElementType()
Class getElementClass()
Object readKey(ResultSet rs, String[] keyAliases, SessionImplementor session) throws HibernateException, SQLException
HibernateException
SQLException
Object readElement(ResultSet rs, Object owner, String[] columnAliases, SessionImplementor session) throws HibernateException, SQLException
HibernateException
SQLException
Object readIndex(ResultSet rs, String[] columnAliases, SessionImplementor session) throws HibernateException, SQLException
HibernateException
SQLException
Object readIdentifier(ResultSet rs, String columnAlias, SessionImplementor session) throws HibernateException, SQLException
HibernateException
SQLException
boolean isPrimitiveArray()
boolean isArray()
boolean isOneToMany()
boolean isManyToMany()
boolean hasIndex()
boolean isLazy()
boolean isInverse()
void remove(Serializable id, SessionImplementor session) throws HibernateException
HibernateException
void recreate(PersistentCollection collection, Serializable key, SessionImplementor session) throws HibernateException
HibernateException
void deleteRows(PersistentCollection collection, Serializable key, SessionImplementor session) throws HibernateException
HibernateException
void updateRows(PersistentCollection collection, Serializable key, SessionImplementor session) throws HibernateException
HibernateException
void insertRows(PersistentCollection collection, Serializable key, SessionImplementor session) throws HibernateException
HibernateException
void processQueuedOps(PersistentCollection collection, Serializable key, SessionImplementor session) throws HibernateException
HibernateException
String getRole()
EntityPersister getOwnerEntityPersister()
IdentifierGenerator getIdentifierGenerator()
Type getIdentifierType()
boolean hasOrphanDelete()
boolean hasOrdering()
boolean hasManyToManyOrdering()
Serializable[] getCollectionSpaces()
CollectionMetadata getCollectionMetadata()
boolean isCascadeDeleteEnabled()
boolean isVersioned()
boolean isMutable()
void postInstantiate() throws MappingException
MappingException
SessionFactoryImplementor getFactory()
boolean isAffectedByEnabledFilters(SessionImplementor session)
String[] getKeyColumnAliases(String suffix)
suffix
- The suffix to use in the key column alias generation.String[] getIndexColumnAliases(String suffix)
suffix
- The suffix to use in the index column alias generation.String[] getElementColumnAliases(String suffix)
suffix
- The suffix to use in the element column alias generation.String getIdentifierColumnAlias(String suffix)
suffix
- The suffix to use in the key column alias generation.boolean isExtraLazy()
int getSize(Serializable key, SessionImplementor session)
boolean indexExists(Serializable key, Object index, SessionImplementor session)
boolean elementExists(Serializable key, Object element, SessionImplementor session)
Object getElementByIndex(Serializable key, Object index, SessionImplementor session, Object owner)
int getBatchSize()
String getMappedByProperty()
Copyright © 2016 JBoss by Red Hat. All rights reserved.