session.getTransaction().commit();
}
public void eliminarEstadoTipoItem(Estado savedEstado, TipoItem savedTipoItem){
Session session;
//Eliminamos todos los miembros del Estado
Collection<Miembro> miembros = this.getMiembrosEstado(savedEstado);
for (Miembro miembro : miembros)
{
this.eliminarMiembroEstado(miembro, savedEstado);
}
if (savedTipoItem.getEstadoInicial() != null)
{
/*Debemos setear en null estado inicial antes de empezar a borrar
* para evitar violacion de contraint
*/
if (savedTipoItem.getEstadoInicial().equals(savedEstado))
{
savedTipoItem.setEstadoInicial(null);
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.update(savedTipoItem);
session.getTransaction().commit();
}
}
//Eliminamos todos los estados Siguientes al Estado
this.eliminarEstadosSiguientes(savedEstado);
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.delete(savedEstado);
session.getTransaction().commit();
}