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) voidMarks this collection as processed during the current flush.voidMarks this collection as reached during the current flush.voidpostFlush(PersistentCollection<?> collection, CollectionFlushActionTracker collectionFlushActionTracker) Called after a successful flushvoidpostInitialize(PersistentCollection<?> collection, SharedSessionContractImplementor session) voidpreFlush(PersistentCollection<?> collection) voidClears traversal state before collection reachability is re-evaluated within the same flush.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()booleanbooleanWas this collection processed during the current flush?booleanWas this collection reached during the current flush?
-
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
-
wasReachedDuringFlush
public boolean wasReachedDuringFlush()Was this collection reached during the current flush?- Since:
- 8.0
-
markReachedDuringFlush
public void markReachedDuringFlush()Marks this collection as reached during the current flush.- Since:
- 8.0
-
wasProcessedDuringFlush
public boolean wasProcessedDuringFlush()Was this collection processed during the current flush?- Since:
- 8.0
-
markProcessedDuringFlush
public void markProcessedDuringFlush()Marks this collection as processed during the current flush.- Since:
- 8.0
-
resetFlushState
public void resetFlushState()Clears traversal state before collection reachability is re-evaluated within the same flush.- Since:
- 8.0
-
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
-