Class AbstractCollectionEvent

java.lang.Object
org.hibernate.event.spi.AbstractEvent
org.hibernate.event.spi.AbstractCollectionEvent
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
InitializeCollectionEvent, PostCollectionRecreateEvent, PostCollectionRemoveEvent, PostCollectionUpdateEvent, PreCollectionRecreateEvent, PreCollectionRemoveEvent, PreCollectionUpdateEvent

public abstract class AbstractCollectionEvent extends AbstractEvent
Defines a base class for events involving collections.
See Also:
  • Constructor Details

    • AbstractCollectionEvent

      public AbstractCollectionEvent(CollectionPersister collectionPersister, PersistentCollection<?> collection, EventSource source, Object affectedOwner, Object affectedOwnerId)
      Constructs an AbstractCollectionEvent object.
      Parameters:
      collection - - the collection
      source - - the Session source
      affectedOwner - - the owner that is affected by this event; can be null if unavailable
      affectedOwnerId - - the ID for the owner that is affected by this event; can be null if unavailable
  • Method Details

    • getLoadedCollectionPersister

      protected static CollectionPersister getLoadedCollectionPersister(PersistentCollection<?> collection, EventSource source)
    • getLoadedOwnerOrNull

      protected static Object getLoadedOwnerOrNull(PersistentCollection<?> collection, EventSource source)
    • getLoadedOwnerIdOrNull

      protected static Object getLoadedOwnerIdOrNull(PersistentCollection<?> collection, EventSource source)
    • getOwnerIdOrNull

      protected static Object getOwnerIdOrNull(Object owner, EventSource source)
    • getAffectedOwnerEntityName

      protected static String getAffectedOwnerEntityName(CollectionPersister collectionPersister, Object affectedOwner, EventSource source)
    • getCollection

      public PersistentCollection<?> getCollection()
    • getAffectedOwnerOrNull

      public Object getAffectedOwnerOrNull()
      Get the collection owner entity that is affected by this event.
      Returns:
      the affected owner; returns null if the entity is not in the persistence context (e.g., because the collection from a detached entity was moved to a new owner)
    • getAffectedOwnerIdOrNull

      public Object getAffectedOwnerIdOrNull()
      Get the ID for the collection owner entity that is affected by this event.
      Returns:
      the affected owner ID; returns null if the ID cannot be obtained from the collection's loaded key (e.g., a property-ref is used for the collection and does not include the entity's ID)
    • getAffectedOwnerEntityName

      public String getAffectedOwnerEntityName()
      Get the entity name for the collection owner entity that is affected by this event.
      Returns:
      the entity name; if the owner is not in the PersistenceContext, the returned value may be a superclass name, instead of the actual class name