List of usage examples for org.hibernate.event.spi MergeEvent setResult
public void setResult(Object result)
From source file:org.granite.tide.hibernate4.HibernateDataChangeMergeListener.java
License:Open Source License
@Override public void onMerge(MergeEvent event) throws HibernateException { if (event.getOriginal() instanceof ChangeSetProxy || event.getOriginal() instanceof ChangeSet) { ChangeSet changeSet = event.getOriginal() instanceof ChangeSet ? (ChangeSet) event.getOriginal() : ((ChangeSetProxy) event.getOriginal()).getChangeSetProxyData(); Object result = new ChangeSetApplier(new HibernatePersistenceAdapter(event.getSession())) .applyChanges(changeSet)[0]; event.setResult(result); return;//from w w w.ja va 2 s . c o m } try { wrappedListener.onMerge(event); } catch (StaleObjectStateException e) { HibernateOptimisticLockException.rethrowOptimisticLockException(event.getSession(), e); } }
From source file:org.granite.tide.hibernate4.HibernateDataChangeMergeListener.java
License:Open Source License
@SuppressWarnings("rawtypes") @Override/*w ww. j ava 2s.c o m*/ public void onMerge(MergeEvent event, Map copiedAlready) throws HibernateException { if (event.getOriginal() instanceof ChangeSetProxy || event.getOriginal() instanceof ChangeSet) { ChangeSet changeSet = event.getOriginal() instanceof ChangeSet ? (ChangeSet) event.getOriginal() : ((ChangeSetProxy) event.getOriginal()).getChangeSetProxyData(); Object result = new ChangeSetApplier(new HibernatePersistenceAdapter(event.getSession())) .applyChanges(changeSet)[0]; event.setResult(result); return; } try { wrappedListener.onMerge(event, copiedAlready); } catch (StaleObjectStateException e) { HibernateOptimisticLockException.rethrowOptimisticLockException(event.getSession(), e); } }