1 16 17 package org.springframework.orm.hibernate3.support; 18 19 import java.io.Serializable ; 20 import java.util.Map ; 21 22 import org.hibernate.engine.SessionImplementor; 23 import org.hibernate.event.MergeEvent; 24 import org.hibernate.event.def.DefaultMergeEventListener; 25 import org.hibernate.persister.entity.EntityPersister; 26 27 57 public class IdTransferringMergeEventListener extends DefaultMergeEventListener { 58 59 63 protected void entityIsTransient(MergeEvent event, Map copyCache) { 64 super.entityIsTransient(event, copyCache); 65 SessionImplementor session = event.getSession(); 66 EntityPersister persister = session.getEntityPersister(event.getEntityName(), event.getEntity()); 67 Serializable id = persister.getIdentifier(event.getResult(), session.getEntityMode()); 69 persister.setIdentifier(event.getOriginal(), id, session.getEntityMode()); 71 } 72 73 77 89 90 } 91 | Popular Tags |