Class IdTransferringMergeEventListener
- java.lang.Object
- org.hibernate.event.def.AbstractReassociateEventListener
- org.hibernate.event.def.AbstractSaveEventListener
- org.hibernate.event.def.DefaultMergeEventListener
- org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener
- All Implemented Interfaces:
Serializable
,org.hibernate.event.MergeEventListener
@Deprecated public class IdTransferringMergeEventListener extends org.hibernate.event.def.DefaultMergeEventListener
Deprecated.as of Spring 4.3, in favor of Hibernate 4.x/5.xExtension of Hibernate's DefaultMergeEventListener, transferring the ids of newly saved objects to the corresponding original objects (that are part of the detached object graph passed into themerge
method).Transferring newly assigned ids to the original graph allows for continuing to use the original object graph, despite merged copies being registered with the current Hibernate Session. This is particularly useful for web applications that might want to store an object graph and then render it in a web view, with links that include the id of certain (potentially newly saved) objects.
The merge behavior given by this MergeEventListener is nearly identical to TopLink's merge behavior. See PetClinic for an example, which relies on ids being available for newly saved objects: the
HibernateClinic
andTopLinkClinic
DAO implementations both use straight merge calls, with the Hibernate SessionFactory configuration specifying anIdTransferringMergeEventListener
.Typically specified as entry for LocalSessionFactoryBean's "eventListeners" map, with key "merge".
- Since:
- 1.2
- Author:
- Juergen Hoeller
- See Also:
LocalSessionFactoryBean.setEventListeners(java.util.Map)
, Serialized Form
Constructor Summary
Constructors Constructor Description IdTransferringMergeEventListener()
Deprecated.
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
entityIsTransient(org.hibernate.event.MergeEvent event, Map copyCache)
Deprecated.Hibernate 3.1 implementation of ID transferral.Methods inherited from class org.hibernate.event.def.DefaultMergeEventListener
cascadeAfterSave, cascadeBeforeSave, cascadeOnMerge, copyValues, copyValues, entityIsDetached, entityIsPersistent, getAssumedUnsaved, getCascadeAction, getMergeMap, getTransientCopyCache, mergeTransientEntity, onMerge, onMerge, retryMergeTransientEntities
Methods inherited from class org.hibernate.event.def.AbstractSaveEventListener
getEntityState, getLoggableName, invokeSaveLifecycle, isVersionIncrementDisabled, performSave, performSaveOrReplicate, saveWithGeneratedId, saveWithRequestedId, substituteValuesIfNecessary, validate, visitCollectionsBeforeSave
Constructor Detail
IdTransferringMergeEventListener
public IdTransferringMergeEventListener()
Deprecated.
Method Detail
entityIsTransient
protected void entityIsTransient(org.hibernate.event.MergeEvent event, Map copyCache)
Deprecated.Hibernate 3.1 implementation of ID transferral.- Overrides:
entityIsTransient
in classorg.hibernate.event.def.DefaultMergeEventListener