Class CollectionEntry
java.lang.Object
org.hibernate.engine.spi.CollectionEntry
- All Implemented Interfaces:
Serializable
We need an entry to tell us all about the current state
of a collection with respect to its persistent state
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCollectionEntry(PersistentCollection<?> collection, SessionFactoryImplementor factory) For initialized detached collectionsCollectionEntry(PersistentCollection<?> collection, CollectionPersister loadedPersister, Object loadedKey, boolean ignore, boolean readOnly) For collections just loaded from the databaseCollectionEntry(CollectionPersister loadedPersister, Object loadedKey) For uninitialized detached collectionsCollectionEntry(CollectionPersister persister, PersistentCollection<?> collection) For newly wrapped collections, or dereferenced collection wrappers -
Method Summary
Modifier and TypeMethodDescriptionvoidafterAction(PersistentCollection<?> collection) Called after execution of an actionstatic CollectionEntrydeserialize(ObjectInputStream ois, SessionImplementor session) Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.This is only available late during the flush cyclegetKey()This is only available late during the flush cycleCollection<?> getOrphans(String entityName, PersistentCollection<?> collection) Get the collection orphans (entities which were removed from the collection)getRole()booleanisIgnore()booleanbooleanisSnapshotEmpty(PersistentCollection<?> collection) voidpostFlush(PersistentCollection<?> collection, CollectionFlushActionTracker collectionFlushActionTracker) Called after a successful flushvoidpostInitialize(PersistentCollection<?> collection, SharedSessionContractImplementor session) voidpreFlush(PersistentCollection<?> collection) voidresetStoredSnapshot(PersistentCollection<?> collection, Serializable storedSnapshot) Reset the stored snapshot for both the persistent collection and this collection entry.voidCustom serialization routine used during serialization of a Session/PersistenceContext for increased performance.voidsetCurrentKey(Object currentKey) voidsetCurrentPersister(CollectionPersister currentPersister) voidsetReadOnly(boolean readOnly, PersistentCollection<?> collection) voidtoString()boolean
-
Constructor Details
-
CollectionEntry
For newly wrapped collections, or dereferenced collection wrappers -
CollectionEntry
public CollectionEntry(PersistentCollection<?> collection, CollectionPersister loadedPersister, Object loadedKey, boolean ignore, boolean readOnly) For collections just loaded from the database -
CollectionEntry
For uninitialized detached collections -
CollectionEntry
For initialized detached collections
-
-
Method Details
-
preFlush
-
postFlush
public void postFlush(PersistentCollection<?> collection, CollectionFlushActionTracker collectionFlushActionTracker) Called after a successful flush -
afterAction
Called after execution of an action -
getKey
-
getRole
-
getSnapshot
-
isReadOnly
public boolean isReadOnly() -
resetStoredSnapshot
Reset the stored snapshot for both the persistent collection and this collection entry. Used during the merge of detached collections.- Parameters:
collection- the persistent collection to be updatedstoredSnapshot- the new stored snapshot
-
setReadOnly
-
wasDereferenced
public boolean wasDereferenced() -
isIgnore
public boolean isIgnore() -
getCurrentPersister
-
setCurrentPersister
-
getCurrentKey
-
setCurrentKey
-
getLoadedPersister
This is only available late during the flush cycle -
getLoadedKey
-
setRole
-
toString
-
getOrphans
Get the collection orphans (entities which were removed from the collection) -
isSnapshotEmpty
-
serialize
Custom serialization routine used during serialization of a Session/PersistenceContext for increased performance.- Parameters:
oos- The stream to which we should write the serial data.- Throws:
IOException
-
deserialize
public static CollectionEntry deserialize(ObjectInputStream ois, SessionImplementor session) throws IOException, ClassNotFoundException Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.- Parameters:
ois- The stream from which to read the entry.session- The session being deserialized.- Returns:
- The deserialized CollectionEntry
- Throws:
IOExceptionClassNotFoundException
-