List of usage examples for org.hibernate.event.spi MergeEvent getSession
public final EventSource getSession()
From source file:it.cilea.core.spring.dao.hibernate.IdTransferringMergeEventListener.java
License:Apache License
/** * Hibernate 3.1 implementation of ID transferral. *///from w ww .java 2 s . co m @Override protected void entityIsTransient(MergeEvent event, Map copyCache) { super.entityIsTransient(event, copyCache); SessionImplementor session = event.getSession(); EntityPersister persister = session.getEntityPersister(event.getEntityName(), event.getEntity()); // Extract id from merged copy (which is currently registered with // Session). Serializable id = persister.getIdentifier(event.getResult(), session); // Set id on original object (which remains detached). persister.setIdentifier(event.getOriginal(), id, session); }
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);/*from w w w. j av a 2s . co m*/ return; } 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/*from w w w. j av a 2 s . co 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); } }
From source file:org.granite.tide.hibernate4.HibernateMergeListener.java
License:Open Source License
@Override public void onMerge(MergeEvent event) throws HibernateException { try {//from www. ja v a2 s. com super.onMerge(event); } catch (StaleObjectStateException e) { HibernateOptimisticLockException.rethrowOptimisticLockException(event.getSession(), e); } }
From source file:org.granite.tide.hibernate4.HibernateMergeListener.java
License:Open Source License
@SuppressWarnings("rawtypes") @Override// ww w. j a va2s. c om public void onMerge(MergeEvent event, Map copiedAlready) throws HibernateException { try { super.onMerge(event, copiedAlready); } catch (StaleObjectStateException e) { HibernateOptimisticLockException.rethrowOptimisticLockException(event.getSession(), e); } }