/** * Cascade an action from the parent entity instance to all its children. * * @param persister The parent's entity persister * @param parent The parent reference. * @throws HibernateException */ public static void cascade( final CascadingAction action, final CascadePoint cascadePoint, final EventSource eventSource, final EntityPersister persister, final Object parent) throws HibernateException { cascade( action, cascadePoint, eventSource, persister, parent, null ); }
private void cascadeAfterReplicate( Object entity, EntityPersister persister, ReplicationMode replicationMode, EventSource source) { source.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( CascadingActions.REPLICATE, CascadePoint.AFTER_UPDATE, source, persister, entity, replicationMode ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
private void cascadeOnFlush(EventSource session, EntityPersister persister, Object object, Object anything) throws HibernateException { session.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( getCascadingAction(), CascadePoint.BEFORE_FLUSH, session, persister, object, anything ); } finally { session.getPersistenceContext().decrementCascadeLevel(); } }
/** * Handles the calls needed to perform cascades as part of an update request * for the given entity. * * @param event The event currently being processed. * @param persister The defined persister for the entity being updated. * @param entity The entity being updated. */ private void cascadeOnUpdate(SaveOrUpdateEvent event, EntityPersister persister, Object entity) { final EventSource source = event.getSession(); source.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( CascadingActions.SAVE_UPDATE, CascadePoint.AFTER_UPDATE, source, persister, entity ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
private void cascadeOnLock(LockEvent event, EntityPersister persister, Object entity) { EventSource source = event.getSession(); source.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( CascadingActions.LOCK, CascadePoint.AFTER_LOCK, source, persister, entity, event.getLockOptions() ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
/** * Handles to calls needed to perform post-save cascades. * * @param source The session from which the event originated. * @param persister The entity's persister instance. * @param entity The entity beng saved. * @param anything Generally cascade-specific data */ protected void cascadeAfterSave( EventSource source, EntityPersister persister, Object entity, Object anything) { // cascade-save to collections AFTER the collection owner was saved source.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( getCascadeAction(), CascadePoint.AFTER_INSERT_BEFORE_DELETE, source, persister, entity, anything ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
/** * Perform any cascades needed as part of this copy event. * * @param source The merge event being processed. * @param persister The persister of the entity being copied. * @param entity The entity being copied. * @param copyCache A cache of already copied instance. */ protected void cascadeOnMerge( final EventSource source, final EntityPersister persister, final Object entity, final Map copyCache ) { source.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( getCascadeAction(), CascadePoint.BEFORE_MERGE, source, persister, entity, copyCache ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
/** * Handles the calls needed to perform pre-save cascades for the given entity. * * @param source The session from whcih the save event originated. * @param persister The entity's persister instance. * @param entity The entity to be saved. * @param anything Generally cascade-specific data */ protected void cascadeBeforeSave( EventSource source, EntityPersister persister, Object entity, Object anything) { // cascade-save to many-to-one BEFORE the parent is saved source.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( getCascadeAction(), CascadePoint.BEFORE_INSERT_AFTER_DELETE, source, persister, entity, anything ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
protected void cascadeAfterDelete( EventSource session, EntityPersister persister, Object entity, Set transientEntities) throws HibernateException { CacheMode cacheMode = session.getCacheMode(); session.setCacheMode( CacheMode.GET ); session.getPersistenceContext().incrementCascadeLevel(); try { // cascade-delete to many-to-one AFTER the parent was deleted Cascade.cascade( CascadingActions.DELETE, CascadePoint.BEFORE_INSERT_AFTER_DELETE, session, persister, entity, transientEntities ); } finally { session.getPersistenceContext().decrementCascadeLevel(); session.setCacheMode( cacheMode ); } } }
protected void cascadeBeforeDelete( EventSource session, EntityPersister persister, Object entity, EntityEntry entityEntry, Set transientEntities) throws HibernateException { CacheMode cacheMode = session.getCacheMode(); session.setCacheMode( CacheMode.GET ); session.getPersistenceContext().incrementCascadeLevel(); try { // cascade-delete to collections BEFORE the collection owner is deleted Cascade.cascade( CascadingActions.DELETE, CascadePoint.AFTER_INSERT_BEFORE_DELETE, session, persister, entity, transientEntities ); } finally { session.getPersistenceContext().decrementCascadeLevel(); session.setCacheMode( cacheMode ); } }
session.getPersistenceContext().removeEntry( object ); Cascade.cascade( CascadingActions.EVICT, CascadePoint.AFTER_EVICT, session, persister, object );
Cascade.cascade( CascadingActions.REFRESH, CascadePoint.BEFORE_REFRESH,
/** * Cascade an action from the parent entity instance to all its children. * * @param persister The parent's entity persister * @param parent The parent reference. * @throws HibernateException */ public void cascade(final EntityPersister persister, final Object parent) throws HibernateException { cascade( persister, parent, null ); }
/** * Cascade an action from the parent entity instance to all its children. * * @param persister The parent's entity persister * @param parent The parent reference. * @throws HibernateException */ public void cascade(final EntityPersister persister, final Object parent) throws HibernateException { cascade( persister, parent, null ); }
/** * Cascade an action from the parent entity instance to all its children. * * @param descriptor The parent's entity descriptor * @param parent The parent reference. * @throws HibernateException */ public static void cascade( final CascadingAction action, final CascadePoint cascadePoint, final EventSource eventSource, final EntityTypeDescriptor descriptor, final Object parent) throws HibernateException { cascade( action, cascadePoint, eventSource, descriptor, parent, null ); }
private void cascadeOnFlush(EventSource session, EntityTypeDescriptor descriptor, Object object, Object anything) throws HibernateException { session.getPersistenceContext().incrementCascadeLevel(); try { Cascade.cascade( getCascadingAction(), CascadePoint.BEFORE_FLUSH, session, descriptor, object, anything ); } finally { session.getPersistenceContext().decrementCascadeLevel(); } }
private void cascadeOnFlush(EventSource session, EntityPersister persister, Object object, Object anything) throws HibernateException { session.getPersistenceContext().incrementCascadeLevel(); try { new Cascade( getCascadingAction(), Cascade.BEFORE_FLUSH, session ) .cascade( persister, object, anything ); } finally { session.getPersistenceContext().decrementCascadeLevel(); } }
private void cascadeOnFlush(EventSource session, EntityPersister persister, Object object, Object anything) throws HibernateException { session.getPersistenceContext().incrementCascadeLevel(); try { new Cascade( getCascadingAction(), Cascade.BEFORE_FLUSH, session ) .cascade( persister, object, anything ); } finally { session.getPersistenceContext().decrementCascadeLevel(); } }
private void cascadeOnLock(LockEvent event, EntityPersister persister, Object entity) { EventSource source = event.getSession(); source.getPersistenceContext().incrementCascadeLevel(); try { new Cascade(CascadingAction.LOCK, Cascade.AFTER_LOCK, source) .cascade( persister, entity, event.getLockOptions() ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }
private void cascadeOnLock(LockEvent event, EntityPersister persister, Object entity) { EventSource source = event.getSession(); source.getPersistenceContext().incrementCascadeLevel(); try { new Cascade(CascadingAction.LOCK, Cascade.AFTER_LOCK, source) .cascade( persister, entity, event.getLockOptions() ); } finally { source.getPersistenceContext().decrementCascadeLevel(); } }