Package org.hibernate.event.internal
Class DefaultMergeEventListener
- java.lang.Object
-
- org.hibernate.event.internal.AbstractReassociateEventListener
-
- org.hibernate.event.internal.AbstractSaveEventListener<MergeContext>
-
- org.hibernate.event.internal.DefaultMergeEventListener
-
- All Implemented Interfaces:
MergeEventListener,CallbackRegistryConsumer
public class DefaultMergeEventListener extends AbstractSaveEventListener<MergeContext> implements MergeEventListener
Defines the default copy event listener used by hibernate for copying entities in response to generated copy events.
-
-
Constructor Summary
Constructors Constructor Description DefaultMergeEventListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcascadeAfterSave(EventSource source, EntityPersister persister, Object entity, MergeContext anything)Cascade behavior is redefined by this subclass, disable superclass behaviorprotected voidcascadeBeforeSave(EventSource source, EntityPersister persister, Object entity, MergeContext anything)Cascade behavior is redefined by this subclass, disable superclass behaviorprotected voidcascadeOnMerge(EventSource source, EntityPersister persister, Object entity, MergeContext copyCache)Perform any cascades needed as part of this copy event.protected voidcopyValues(EntityPersister persister, Object entity, Object target, SessionImplementor source, MergeContext copyCache)protected voidcopyValues(EntityPersister persister, Object entity, Object target, SessionImplementor source, MergeContext copyCache, ForeignKeyDirection foreignKeyDirection)protected voidentityIsDetached(MergeEvent event, Object copiedId, Object originalId, MergeContext copyCache)protected voidentityIsPersistent(MergeEvent event, MergeContext copyCache)protected voidentityIsTransient(MergeEvent event, Object id, MergeContext copyCache)protected CascadingAction<MergeContext>getCascadeAction()protected Map<Object,Object>getMergeMap(MergeContext context)voidonMerge(MergeEvent event)Handle the given merge event.voidonMerge(MergeEvent event, MergeContext copiedAlready)Handle the given merge event.-
Methods inherited from class org.hibernate.event.internal.AbstractSaveEventListener
injectCallbackRegistry, invokeSaveLifecycle, isVersionIncrementDisabled, performSave, performSaveOrReplicate, saveWithGeneratedId, saveWithRequestedId, substituteValuesIfNecessary, visitCollectionsBeforeSave
-
Methods inherited from class org.hibernate.event.internal.AbstractReassociateEventListener
reassociate
-
-
-
-
Method Detail
-
getMergeMap
protected Map<Object,Object> getMergeMap(MergeContext context)
- Overrides:
getMergeMapin classAbstractSaveEventListener<MergeContext>
-
onMerge
public void onMerge(MergeEvent event) throws HibernateException
Handle the given merge event.- Specified by:
onMergein interfaceMergeEventListener- Parameters:
event- The merge event to be handled.- Throws:
HibernateException
-
onMerge
public void onMerge(MergeEvent event, MergeContext copiedAlready) throws HibernateException
Handle the given merge event.- Specified by:
onMergein interfaceMergeEventListener- Parameters:
event- The merge event to be handled.- Throws:
HibernateException
-
entityIsPersistent
protected void entityIsPersistent(MergeEvent event, MergeContext copyCache)
-
entityIsTransient
protected void entityIsTransient(MergeEvent event, Object id, MergeContext copyCache)
-
entityIsDetached
protected void entityIsDetached(MergeEvent event, Object copiedId, Object originalId, MergeContext copyCache)
-
copyValues
protected void copyValues(EntityPersister persister, Object entity, Object target, SessionImplementor source, MergeContext copyCache)
-
copyValues
protected void copyValues(EntityPersister persister, Object entity, Object target, SessionImplementor source, MergeContext copyCache, ForeignKeyDirection foreignKeyDirection)
-
cascadeOnMerge
protected void cascadeOnMerge(EventSource source, EntityPersister persister, Object entity, MergeContext copyCache)
Perform any cascades needed as part of this copy event.- Parameters:
source- The merge event being processed.persister- The persister of the entity being copied.entity- The entity being copied.copyCache- A cache of already copied instance.
-
getCascadeAction
protected CascadingAction<MergeContext> getCascadeAction()
- Specified by:
getCascadeActionin classAbstractSaveEventListener<MergeContext>
-
cascadeAfterSave
protected void cascadeAfterSave(EventSource source, EntityPersister persister, Object entity, MergeContext anything) throws HibernateException
Cascade behavior is redefined by this subclass, disable superclass behavior- Overrides:
cascadeAfterSavein classAbstractSaveEventListener<MergeContext>- Parameters:
source- The session from which the event originated.persister- The entity's persister instance.entity- The entity being saved.anything- Generally cascade-specific data- Throws:
HibernateException
-
cascadeBeforeSave
protected void cascadeBeforeSave(EventSource source, EntityPersister persister, Object entity, MergeContext anything) throws HibernateException
Cascade behavior is redefined by this subclass, disable superclass behavior- Overrides:
cascadeBeforeSavein classAbstractSaveEventListener<MergeContext>- Parameters:
source- The session from which the save event originated.persister- The entity's persister instance.entity- The entity to be saved.anything- Generally cascade-specific data- Throws:
HibernateException
-
-