/** * Handle the given create event. * * @param event The save event to be handled. * @param createCache The copy cache of entity instance to merge/copy instance. */ @SuppressWarnings({"unchecked"}) protected void entityIsTransient(PersistEvent event, Map createCache) { LOG.trace( "Saving transient instance" ); final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); if ( createCache.put( entity, entity ) == null ) { saveWithGeneratedId( entity, event.getEntityName(), createCache, source, false ); } }
@SuppressWarnings({"unchecked"}) protected void entityIsPersistent(PersistEvent event, Map createCache) { LOG.trace( "Ignoring persistent instance" ); final EventSource source = event.getSession(); //TODO: check that entry.getIdentifier().equals(requestedId) final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity ); if ( createCache.put( entity, entity ) == null ) { justCascade( createCache, source, entity, persister ); } }
@SuppressWarnings({"unchecked"}) private void entityIsDeleted(PersistEvent event, Map createCache) { final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity ); LOG.tracef( "un-scheduling entity deletion [%s]", MessageHelper.infoString( persister, persister.getIdentifier( entity, source ), source.getFactory() ) ); if ( createCache.put( entity, entity ) == null ) { justCascade( createCache, source, entity, persister ); } } }
@Override public void onPersist(final PersistEvent event) throws HibernateException { final Object entity = event.getObject(); if(entity instanceof ParentAware) { ParentAware rootAware = (ParentAware) entity; VersionedEntity parent = rootAware.getParent(); if (parent == null) return; if (! (parent instanceof HibernateProxy)) { //we have to do the increment manually parent.incrementVersion(); } Hibernate.initialize(parent); event.getSession().save(parent); if (logger.isDebugEnabled()) { logger.debug("Incrementing {} entity version because a {} child entity has been inserted", parent, entity); } } }
/** * Handle the given create event. * * @param event The save event to be handled. * @param createCache The copy cache of entity instance to merge/copy instance. */ @SuppressWarnings( {"unchecked"}) protected void entityIsTransient(PersistEvent event, Map createCache) { LOG.trace( "Saving transient instance" ); final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); if ( createCache.put( entity, entity ) == null ) { saveWithGeneratedId( entity, event.getEntityName(), createCache, source, false ); } }
/** * Handle the given create event. * * @param event The save event to be handled. * @param createCache The copy cache of entity instance to merge/copy instance. */ @SuppressWarnings({"unchecked"}) protected void entityIsTransient(PersistEvent event, Map createCache) { LOG.trace( "Saving transient instance" ); final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); if ( createCache.put( entity, entity ) == null ) { saveWithGeneratedId( entity, event.getEntityName(), createCache, source, false ); } }
/** * Handle the given create event. * * @param event The save event to be handled. * @param createCache The copy cache of entity instance to merge/copy instance. */ @SuppressWarnings( {"unchecked"}) protected void entityIsTransient(PersistEvent event, Map createCache) { LOG.trace( "Saving transient instance" ); final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); if ( createCache.put( entity, entity ) == null ) { saveWithGeneratedId( entity, event.getEntityName(), createCache, source, false ); } }
@SuppressWarnings( {"unchecked"}) protected void entityIsPersistent(PersistEvent event, Map createCache) { LOG.trace( "Ignoring persistent instance" ); final EventSource source = event.getSession(); //TODO: check that entry.getIdentifier().equals(requestedId) final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity ); if ( createCache.put(entity, entity)==null ) { justCascade( createCache, source, entity, persister ); } }
@SuppressWarnings( {"unchecked"}) protected void entityIsPersistent(PersistEvent event, Map createCache) { LOG.trace( "Ignoring persistent instance" ); final EventSource source = event.getSession(); //TODO: check that entry.getIdentifier().equals(requestedId) final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity ); if ( createCache.put(entity, entity)==null ) { justCascade( createCache, source, entity, persister ); } }
@SuppressWarnings({"unchecked"}) protected void entityIsPersistent(PersistEvent event, Map createCache) { LOG.trace( "Ignoring persistent instance" ); final EventSource source = event.getSession(); //TODO: check that entry.getIdentifier().equals(requestedId) final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityTypeDescriptor descriptor = source.getEntityDescriptor( event.getEntityName(), entity ); if ( createCache.put( entity, entity ) == null ) { justCascade( createCache, source, entity, descriptor ); } }
@Override public void onPersist(PersistEvent event) throws HibernateException { final Object entity = event.getObject(); if(entity instanceof RootAware) { RootAware rootAware = (RootAware) entity; Object root = rootAware.root(); event.getSession().lock(root, LockMode.OPTIMISTIC_FORCE_INCREMENT); LOGGER.info("Incrementing {} entity version because a {} child entity has been inserted", root, entity); } }
@Override public void onPersist(PersistEvent event) throws HibernateException { final Object entity = event.getObject(); if(entity instanceof RootAware) { RootAware rootAware = (RootAware) entity; Object root = rootAware.root(); event.getSession().lock(root, LockMode.OPTIMISTIC_FORCE_INCREMENT); LOGGER.info("Incrementing {} entity version because a {} child entity has been inserted", root, entity); } }
@SuppressWarnings( {"unchecked"}) private void entityIsDeleted(PersistEvent event, Map createCache) { final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity ); LOG.tracef( "un-scheduling entity deletion [%s]", MessageHelper.infoString( persister, persister.getIdentifier( entity, source ), source.getFactory() ) ); if ( createCache.put( entity, entity ) == null ) { justCascade( createCache, source, entity, persister ); } } }
@SuppressWarnings( {"unchecked"}) private void entityIsDeleted(PersistEvent event, Map createCache) { final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity ); LOG.tracef( "un-scheduling entity deletion [%s]", MessageHelper.infoString( persister, persister.getIdentifier( entity, source ), source.getFactory() ) ); if ( createCache.put( entity, entity ) == null ) { justCascade( createCache, source, entity, persister ); } } }
@SuppressWarnings({"unchecked"}) private void entityIsDeleted(PersistEvent event, Map createCache) { final EventSource source = event.getSession(); final Object entity = source.getPersistenceContext().unproxy( event.getObject() ); final EntityTypeDescriptor descriptor = source.getEntityDescriptor( event.getEntityName(), entity ); LOG.tracef( "un-scheduling entity deletion [%s]", MessageHelper.infoString( descriptor, descriptor.getIdentifier( entity, source ), source.getFactory() ) ); if ( createCache.put( entity, entity ) == null ) { justCascade( createCache, source, entity, descriptor ); } } }