/** * If the user specified an id, assign it to the instance and use that, * otherwise use the id already assigned to the instance */ protected Serializable getUpdateId( Object entity, EntityPersister persister, Serializable requestedId, SessionImplementor session) throws HibernateException { if ( requestedId == null ) { return super.getUpdateId( entity, persister, requestedId, session ); } else { persister.setIdentifier( entity, requestedId, session ); return requestedId; } }
/** * 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 ); }
/** * If the user specified an id, assign it to the instance and use that, * otherwise use the id already assigned to the instance */ protected Object getUpdateId( Object entity, EntityTypeDescriptor descriptor, Object requestedId, SessionImplementor session) throws HibernateException { if ( requestedId == null ) { return super.getUpdateId( entity, descriptor, requestedId, session ); } else { descriptor.setIdentifier( entity, requestedId, session ); return requestedId; } }
/** * If the user specified an id, assign it to the instance and use that, * otherwise use the id already assigned to the instance */ protected Serializable getUpdateId( Object entity, EntityPersister persister, Serializable requestedId, SessionImplementor session) throws HibernateException { if ( requestedId == null ) { return super.getUpdateId( entity, persister, requestedId, session ); } else { persister.setIdentifier( entity, requestedId, session ); return requestedId; } }
/** * If the user specified an id, assign it to the instance and use that, * otherwise use the id already assigned to the instance */ protected Serializable getUpdateId( Object entity, EntityPersister persister, Serializable requestedId, SessionImplementor session) throws HibernateException { if ( requestedId == null ) { return super.getUpdateId( entity, persister, requestedId, session ); } else { persister.setIdentifier( entity, requestedId, session ); return requestedId; } }
/** * 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 ); }