gestión rollback

This commit is contained in:
Isidoro Nevares Martín 2025-12-18 14:28:35 +01:00
parent d91e4a8675
commit 2ebb82bcf2
5 changed files with 180 additions and 76 deletions

View File

@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.MutationQuery;
@ -56,26 +55,34 @@ public class ActorDaoHibernate implements IActorDAO {
@Override
public void crearEntidad(Actor entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Connection, Statement
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
sesion.persist(entidad);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void actualizarEntidad(Actor entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Session
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
if (!sesion.contains(entidad))
@ -83,16 +90,24 @@ public class ActorDaoHibernate implements IActorDAO {
transaccion.commit();
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void borrarEntidadPorClave(Integer clave) {
Transaction transaccion = null;
Session sesion = null;
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
// Borrado de Actor
@ -100,9 +115,15 @@ public class ActorDaoHibernate implements IActorDAO {
sesion.remove(actor);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}

View File

@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.MutationQuery;
@ -56,26 +55,34 @@ public class ContinenteDaoHibernate implements IContinenteDAO {
@Override
public void crearEntidad(Continente entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Connection, Statement
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
sesion.persist(entidad);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void actualizarEntidad(Continente entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Session
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
if (!sesion.contains(entidad))
@ -83,26 +90,39 @@ public class ContinenteDaoHibernate implements IContinenteDAO {
transaccion.commit();
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void borrarEntidadPorClave(String clave) {
Transaction transaccion = null;
Session sesion = null;
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
Continente continente = sesion.find(Continente.class, clave);
sesion.remove(continente);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}

View File

@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.MutationQuery;
@ -56,26 +55,34 @@ public class DirectorDaoHibernate implements IDirectorDAO {
@Override
public void crearEntidad(Director entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Connection, Statement
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
sesion.persist(entidad);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void actualizarEntidad(Director entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Session
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
if (!sesion.contains(entidad))
@ -83,25 +90,39 @@ public class DirectorDaoHibernate implements IDirectorDAO {
transaccion.commit();
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void borrarEntidadPorClave(Integer clave) {
Transaction transaccion = null;
Session sesion = null;
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
Director director = sesion.find(Director.class, clave);
sesion.remove(director);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}

View File

@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.MutationQuery;
@ -57,26 +56,34 @@ public class PaisDaoHibernate implements IPaisDAO {
@Override
public void crearEntidad(Pais entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Connection, Statement
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
sesion.persist(entidad);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void actualizarEntidad(Pais entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Session
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
if (!sesion.contains(entidad))
@ -84,25 +91,39 @@ public class PaisDaoHibernate implements IPaisDAO {
transaccion.commit();
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void borrarEntidadPorClave(Integer clave) {
Transaction transaccion = null;
Session sesion = null;
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
Pais pais = sesion.find(Pais.class, clave);
sesion.remove(pais);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}

View File

@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.MutationQuery;
@ -57,26 +56,34 @@ public class PeliculaDaoHibernate implements IPeliculaDAO {
@Override
public void crearEntidad(Pelicula entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Connection, Statement
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
sesion.persist(entidad);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void actualizarEntidad(Pelicula entidad) {
Transaction transaccion = null;
Session sesion = null;
// try con recursos "cerrables": Session
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
if (!sesion.contains(entidad))
@ -84,16 +91,24 @@ public class PeliculaDaoHibernate implements IPeliculaDAO {
transaccion.commit();
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}
@Override
public void borrarEntidadPorClave(Integer clave) {
Transaction transaccion = null;
Session sesion = null;
try (Session sesion = GestorSesionesHibernate.getSession();) {
try {
sesion = GestorSesionesHibernate.getSession();
transaccion = sesion.beginTransaction();
// Borrado de Actor
@ -101,9 +116,15 @@ public class PeliculaDaoHibernate implements IPeliculaDAO {
sesion.remove(actor);
transaccion.commit();
} catch (HibernateException e) {
} catch (Exception e) {
if (transaccion != null && transaccion.isActive()) {
transaccion.rollback();
}
e.printStackTrace();
} finally {
if (sesion != null) {
sesion.close();
}
}
}