session.update(savedItem);
session.getTransaction().commit();
}
public void cambiarEstadoItem(Item item, Estado estado, Miembro responsable, String fichaTrabajo) throws Exception{
Session session = null;
EstadoItem estadoActual = item.getEstadoActual();
estadoActual.setFichaDeTrabajo(fichaTrabajo);
estadoActual.setFechaFin(new Date());
//Actualizamos EstadoItem actual
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
EstadoItem savedEstadoActual = (EstadoItem) session.merge(estadoActual);
session.getTransaction().commit();
//Creamos el nuevo estadoItem
EstadoItem nuevoEstadoItem = new EstadoItem();
nuevoEstadoItem.setEstado(estado);
nuevoEstadoItem.setFechaInicio(new Date());
nuevoEstadoItem.setResponsable(responsable);
nuevoEstadoItem.setItem(item);
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
EstadoItem savedEstadoItem = (EstadoItem) session.merge(nuevoEstadoItem);
session.getTransaction().commit();
//Actualizamos Item con nuevo Estado Actual
item.setEstadoActual(savedEstadoItem);
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.update(item);
session.getTransaction().commit();
//Guardamos el nuevo historico
this.nuevoEstadoHistorico(savedEstadoActual, savedEstadoItem);
}