Package org.hibernate.event.internal
Class DefaultSaveOrUpdateEventListener
- java.lang.Object
-
- org.hibernate.event.internal.AbstractReassociateEventListener
-
- org.hibernate.event.internal.AbstractSaveEventListener<PersistContext>
-
- org.hibernate.event.internal.DefaultSaveOrUpdateEventListener
-
- All Implemented Interfaces:
SaveOrUpdateEventListener,CallbackRegistryConsumer
- Direct Known Subclasses:
DefaultSaveEventListener,DefaultUpdateEventListener
public class DefaultSaveOrUpdateEventListener extends AbstractSaveEventListener<PersistContext> implements SaveOrUpdateEventListener
Defines the default listener used by Hibernate for handling save-update events.
-
-
Constructor Summary
Constructors Constructor Description DefaultSaveOrUpdateEventListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidentityIsDetached(SaveOrUpdateEvent event)The given save-update event named a detached entity.protected ObjectentityIsPersistent(SaveOrUpdateEvent event)protected ObjectentityIsTransient(SaveOrUpdateEvent event)The given save-update event named a transient entity.protected CascadingAction<PersistContext>getCascadeAction()protected ObjectgetUpdateId(Object entity, EntityPersister persister, Object requestedId, SessionImplementor session)Determine the id to use for updating.protected booleaninvokeUpdateLifecycle(Object entity, EntityPersister persister, EventSource source)voidonSaveOrUpdate(SaveOrUpdateEvent event)Handle the given update event.protected ObjectperformSaveOrUpdate(SaveOrUpdateEvent event)protected voidperformUpdate(SaveOrUpdateEvent event, Object entity, EntityPersister persister)protected booleanreassociateIfUninitializedProxy(Object object, SessionImplementor source)protected ObjectsaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)Save the transient instance, assigning the right identifier-
Methods inherited from class org.hibernate.event.internal.AbstractSaveEventListener
cascadeAfterSave, cascadeBeforeSave, getMergeMap, injectCallbackRegistry, invokeSaveLifecycle, isVersionIncrementDisabled, performSave, performSaveOrReplicate, saveWithGeneratedId, saveWithRequestedId, substituteValuesIfNecessary, visitCollectionsBeforeSave
-
Methods inherited from class org.hibernate.event.internal.AbstractReassociateEventListener
reassociate
-
-
-
-
Method Detail
-
onSaveOrUpdate
public void onSaveOrUpdate(SaveOrUpdateEvent event)
Handle the given update event.- Specified by:
onSaveOrUpdatein interfaceSaveOrUpdateEventListener- Parameters:
event- The update event to be handled.
-
reassociateIfUninitializedProxy
protected boolean reassociateIfUninitializedProxy(Object object, SessionImplementor source)
-
performSaveOrUpdate
protected Object performSaveOrUpdate(SaveOrUpdateEvent event)
-
entityIsPersistent
protected Object entityIsPersistent(SaveOrUpdateEvent event) throws HibernateException
- Throws:
HibernateException
-
entityIsTransient
protected Object entityIsTransient(SaveOrUpdateEvent event)
The given save-update event named a transient entity.Here, we will perform the save processing.
- Parameters:
event- The save event to be handled.- Returns:
- The entity's identifier after saving.
-
saveWithGeneratedOrRequestedId
protected Object saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
Save the transient instance, assigning the right identifier- Parameters:
event- The initiating event.- Returns:
- The entity's identifier value after saving.
-
entityIsDetached
protected void entityIsDetached(SaveOrUpdateEvent event)
The given save-update event named a detached entity.Here, we will perform the update processing.
- Parameters:
event- The update event to be handled.
-
getUpdateId
protected Object getUpdateId(Object entity, EntityPersister persister, Object requestedId, SessionImplementor session)
Determine the id to use for updating.- Parameters:
entity- The entity.persister- The entity persisterrequestedId- The requested identifiersession- The session- Returns:
- The id.
- Throws:
TransientObjectException- If the entity is considered transient.
-
performUpdate
protected void performUpdate(SaveOrUpdateEvent event, Object entity, EntityPersister persister) throws HibernateException
- Throws:
HibernateException
-
invokeUpdateLifecycle
protected boolean invokeUpdateLifecycle(Object entity, EntityPersister persister, EventSource source)
-
getCascadeAction
protected CascadingAction<PersistContext> getCascadeAction()
- Specified by:
getCascadeActionin classAbstractSaveEventListener<PersistContext>
-
-