/** * Save the transient instance, assigning the right identifier * * @param event The initiating event. * * @return The entity's identifier value after saving. */ protected Serializable saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { return saveWithGeneratedId( event.getEntity(), event.getEntityName(), null, event.getSession(), true ); }
protected Serializable saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { if ( event.getRequestedId() == null ) { return super.saveWithGeneratedOrRequestedId(event); } else { return saveWithRequestedId( event.getEntity(), event.getRequestedId(), event.getEntityName(), null, event.getSession() ); } }
protected Serializable performSaveOrUpdate(SaveOrUpdateEvent event) { EntityState entityState = getEntityState( event.getEntity(), event.getEntityName(), event.getEntry(), event.getSession() ); switch ( entityState ) { case DETACHED: entityIsDetached( event ); return null; case PERSISTENT: return entityIsPersistent( event ); default: //TRANSIENT or DELETED return entityIsTransient( event ); } }
protected Serializable performSaveOrUpdate(SaveOrUpdateEvent event) { // this implementation is supposed to tolerate incorrect unsaved-value // mappings, for the purpose of backward-compatibility EntityEntry entry = event.getSession().getPersistenceContext().getEntry( event.getEntity() ); if ( entry!=null ) { if ( entry.getStatus()== Status.DELETED ) { throw new ObjectDeletedException( "deleted instance passed to update()", null, event.getEntityName() ); } else { return entityIsPersistent(event); } } else { entityIsDetached(event); return null; } }
/** * The given save-update event named a detached entity. * <p/> * Here, we will perform the update processing. * * @param event The update event to be handled. */ protected void entityIsDetached(SaveOrUpdateEvent event) { LOG.trace( "Updating detached instance" ); if ( event.getSession().getPersistenceContext().isEntryFor( event.getEntity() ) ) { //TODO: assertion only, could be optimized away throw new AssertionFailure( "entity was persistent" ); } Object entity = event.getEntity(); EntityPersister persister = event.getSession().getEntityPersister( event.getEntityName(), entity ); event.setRequestedId( getUpdateId( entity, persister, event.getRequestedId(), event.getSession() ) ); performUpdate( event, entity, persister ); }
/** * Save the transient instance, assigning the right identifier * * @param event The initiating event. * * @return The entity's identifier value after saving. */ protected Serializable saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { return saveWithGeneratedId( event.getEntity(), event.getEntityName(), null, event.getSession(), true ); }
/** * Save the transient instance, assigning the right identifier * * @param event The initiating event. * * @return The entity's identifier value after saving. */ protected Serializable saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { return saveWithGeneratedId( event.getEntity(), event.getEntityName(), null, event.getSession(), true ); }
/** * Save the transient instance, assigning the right identifier * * @param event The initiating event. * * @return The entity's identifier value after saving. */ protected Object saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { return saveWithGeneratedId( event.getEntity(), event.getEntityName(), null, event.getSession(), true ); }
protected Object saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { if ( event.getRequestedId() == null ) { return super.saveWithGeneratedOrRequestedId(event); } else { return saveWithRequestedId( event.getEntity(), event.getRequestedId(), event.getEntityName(), null, event.getSession() ); } }
protected Serializable saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { if ( event.getRequestedId() == null ) { return super.saveWithGeneratedOrRequestedId(event); } else { return saveWithRequestedId( event.getEntity(), event.getRequestedId(), event.getEntityName(), null, event.getSession() ); } }
protected Serializable saveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) { if ( event.getRequestedId() == null ) { return super.saveWithGeneratedOrRequestedId(event); } else { return saveWithRequestedId( event.getEntity(), event.getRequestedId(), event.getEntityName(), null, event.getSession() ); } }
protected Serializable performSaveOrUpdate(SaveOrUpdateEvent event) { EntityState entityState = getEntityState( event.getEntity(), event.getEntityName(), event.getEntry(), event.getSession() ); switch ( entityState ) { case DETACHED: entityIsDetached( event ); return null; case PERSISTENT: return entityIsPersistent( event ); default: //TRANSIENT or DELETED return entityIsTransient( event ); } }
protected Object performSaveOrUpdate(SaveOrUpdateEvent event) { EntityState entityState = getEntityState( event.getEntity(), event.getEntityName(), event.getEntry(), event.getSession() ); switch ( entityState ) { case DETACHED: entityIsDetached( event ); return null; case PERSISTENT: return entityIsPersistent( event ); default: //TRANSIENT or DELETED return entityIsTransient( event ); } }
protected Serializable performSaveOrUpdate(SaveOrUpdateEvent event) { EntityState entityState = getEntityState( event.getEntity(), event.getEntityName(), event.getEntry(), event.getSession() ); switch ( entityState ) { case DETACHED: entityIsDetached( event ); return null; case PERSISTENT: return entityIsPersistent( event ); default: //TRANSIENT or DELETED return entityIsTransient( event ); } }
protected Serializable performSaveOrUpdate(SaveOrUpdateEvent event) { // this implementation is supposed to tolerate incorrect unsaved-value // mappings, for the purpose of backward-compatibility EntityEntry entry = event.getSession().getPersistenceContext().getEntry( event.getEntity() ); if ( entry!=null ) { if ( entry.getStatus()== Status.DELETED ) { throw new ObjectDeletedException( "deleted instance passed to update()", null, event.getEntityName() ); } else { return entityIsPersistent(event); } } else { entityIsDetached(event); return null; } }
protected Serializable performSaveOrUpdate(SaveOrUpdateEvent event) { // this implementation is supposed to tolerate incorrect unsaved-value // mappings, for the purpose of backward-compatibility EntityEntry entry = event.getSession().getPersistenceContext().getEntry( event.getEntity() ); if ( entry!=null ) { if ( entry.getStatus()== Status.DELETED ) { throw new ObjectDeletedException( "deleted instance passed to update()", null, event.getEntityName() ); } else { return entityIsPersistent(event); } } else { entityIsDetached(event); return null; } }
protected Object performSaveOrUpdate(SaveOrUpdateEvent event) { // this implementation is supposed to tolerate incorrect unsaved-value // mappings, for the purpose of backward-compatibility EntityEntry entry = event.getSession().getPersistenceContext().getEntry( event.getEntity() ); if ( entry!=null ) { if ( entry.getStatus()== Status.DELETED ) { throw new ObjectDeletedException( "deleted instance passed to update()", null, event.getEntityName() ); } else { return entityIsPersistent(event); } } else { entityIsDetached(event); return null; } }
/** * The given save-update event named a detached entity. * <p/> * Here, we will perform the update processing. * * @param event The update event to be handled. */ protected void entityIsDetached(SaveOrUpdateEvent event) { LOG.trace( "Updating detached instance" ); if ( event.getSession().getPersistenceContext().isEntryFor( event.getEntity() ) ) { //TODO: assertion only, could be optimized away throw new AssertionFailure( "entity was persistent" ); } Object entity = event.getEntity(); EntityTypeDescriptor entityDescriptor = event.getSession().getEntityDescriptor( event.getEntityName(), entity ); event.setRequestedId( getUpdateId( entity, entityDescriptor, event.getRequestedId(), event.getSession() ) ); performUpdate( event, entity, entityDescriptor ); }
/** * The given save-update event named a detached entity. * <p/> * Here, we will perform the update processing. * * @param event The update event to be handled. */ protected void entityIsDetached(SaveOrUpdateEvent event) { LOG.trace( "Updating detached instance" ); if ( event.getSession().getPersistenceContext().isEntryFor( event.getEntity() ) ) { //TODO: assertion only, could be optimized away throw new AssertionFailure( "entity was persistent" ); } Object entity = event.getEntity(); EntityPersister persister = event.getSession().getEntityPersister( event.getEntityName(), entity ); event.setRequestedId( getUpdateId( entity, persister, event.getRequestedId(), event.getSession() ) ); performUpdate( event, entity, persister ); }
/** * The given save-update event named a detached entity. * <p/> * Here, we will perform the update processing. * * @param event The update event to be handled. */ protected void entityIsDetached(SaveOrUpdateEvent event) { LOG.trace( "Updating detached instance" ); if ( event.getSession().getPersistenceContext().isEntryFor( event.getEntity() ) ) { //TODO: assertion only, could be optimized away throw new AssertionFailure( "entity was persistent" ); } Object entity = event.getEntity(); EntityPersister persister = event.getSession().getEntityPersister( event.getEntityName(), entity ); event.setRequestedId( getUpdateId( entity, persister, event.getRequestedId(), event.getSession() ) ); performUpdate( event, entity, persister ); }