gestión rollback
This commit is contained in:
parent
91aff80cec
commit
63628feb7b
@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
|
||||||
import org.hibernate.Session;
|
import org.hibernate.Session;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
import org.hibernate.query.MutationQuery;
|
import org.hibernate.query.MutationQuery;
|
||||||
@ -56,26 +55,33 @@ public class ActorDaoHibernate implements IOperacionesDAOEntidad<Actor, Integer>
|
|||||||
@Override
|
@Override
|
||||||
public void crearEntidad(Actor entidad) {
|
public void crearEntidad(Actor entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Connection, Statement
|
try {
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
sesion.persist(entidad);
|
sesion.persist(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actualizarEntidad(Actor entidad) {
|
public void actualizarEntidad(Actor entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
|
|
||||||
// try con recursos "cerrables": Session
|
try {
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
if (!sesion.contains(entidad))
|
if (!sesion.contains(entidad))
|
||||||
@ -83,17 +89,26 @@ public class ActorDaoHibernate implements IOperacionesDAOEntidad<Actor, Integer>
|
|||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void borrarEntidadPorClave(Integer clave) {
|
public void borrarEntidadPorClave(Integer clave) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
|
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
// Borrado de Repartos de un Actor
|
// Borrado de Repartos de un Actor
|
||||||
String sentenciaBorradoRepartosHQL = "DELETE FROM Reparto r WHERE r.actor.identificador = :identificador";
|
String sentenciaBorradoRepartosHQL = "DELETE FROM Reparto r WHERE r.actor.identificador = :identificador";
|
||||||
MutationQuery senteciaBorradoRepartos = sesion.createMutationQuery(sentenciaBorradoRepartosHQL);
|
MutationQuery senteciaBorradoRepartos = sesion.createMutationQuery(sentenciaBorradoRepartosHQL);
|
||||||
@ -107,9 +122,15 @@ public class ActorDaoHibernate implements IOperacionesDAOEntidad<Actor, Integer>
|
|||||||
senteciaBorradoActor.executeUpdate();
|
senteciaBorradoActor.executeUpdate();
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
|
||||||
import org.hibernate.Session;
|
import org.hibernate.Session;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
import org.hibernate.query.MutationQuery;
|
import org.hibernate.query.MutationQuery;
|
||||||
@ -56,45 +55,63 @@ public class ContinenteDaoHibernate implements IOperacionesDAOEntidad<Continente
|
|||||||
@Override
|
@Override
|
||||||
public void crearEntidad(Continente entidad) {
|
public void crearEntidad(Continente entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Connection, Statement
|
try {
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
sesion.persist(entidad);
|
sesion.persist(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actualizarEntidad(Continente entidad) {
|
public void actualizarEntidad(Continente entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Session
|
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
|
|
||||||
if (!sesion.contains(entidad))
|
if (!sesion.contains(entidad))
|
||||||
sesion.merge(entidad);
|
sesion.merge(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void borrarEntidadPorClave(String clave) {
|
public void borrarEntidadPorClave(String clave) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
|
||||||
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
|
|
||||||
// Borrado de repartos en los que la localización de la película es en un país del continente a borrar
|
// Borrado de repartos en los que la localización de la película es en un país del continente a borrar
|
||||||
// Borrado de repartos en los que el país de nacimiento del actor es en un país del continente a borrar
|
// Borrado de repartos en los que el país de nacimiento del actor es en un país del continente a borrar
|
||||||
// Borrado de repartos en los que el país de nacimiento del director de la película es en un país del continente a borrar
|
// Borrado de repartos en los que el país de nacimiento del director de la película es en un país del continente a borrar
|
||||||
@ -141,10 +158,15 @@ public class ContinenteDaoHibernate implements IOperacionesDAOEntidad<Continente
|
|||||||
sentenciaBorradoContinente.executeUpdate();
|
sentenciaBorradoContinente.executeUpdate();
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
|
||||||
import org.hibernate.Session;
|
import org.hibernate.Session;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
import org.hibernate.query.MutationQuery;
|
import org.hibernate.query.MutationQuery;
|
||||||
@ -56,50 +55,68 @@ public class DirectorDaoHibernate implements IOperacionesDAOEntidad<Director, In
|
|||||||
@Override
|
@Override
|
||||||
public void crearEntidad(Director entidad) {
|
public void crearEntidad(Director entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Connection, Statement
|
try {
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
sesion.persist(entidad);
|
sesion.persist(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actualizarEntidad(Director entidad) {
|
public void actualizarEntidad(Director entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Session
|
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
|
|
||||||
if (!sesion.contains(entidad))
|
if (!sesion.contains(entidad))
|
||||||
sesion.merge(entidad);
|
sesion.merge(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void borrarEntidadPorClave(Integer clave) {
|
public void borrarEntidadPorClave(Integer clave) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
|
||||||
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
//Borrado de Repartos de películas un director
|
|
||||||
|
// Borrado de Repartos de películas un director
|
||||||
String sentenciaBorradoRepartosHQL = "DELETE FROM Reparto r WHERE r.pelicula.director.identificador = :identificador";
|
String sentenciaBorradoRepartosHQL = "DELETE FROM Reparto r WHERE r.pelicula.director.identificador = :identificador";
|
||||||
MutationQuery senteciaBorradoRepartos = sesion.createMutationQuery(sentenciaBorradoRepartosHQL);
|
MutationQuery senteciaBorradoRepartos = sesion.createMutationQuery(sentenciaBorradoRepartosHQL);
|
||||||
senteciaBorradoRepartos.setParameter("identificador", clave);
|
senteciaBorradoRepartos.setParameter("identificador", clave);
|
||||||
senteciaBorradoRepartos.executeUpdate();
|
senteciaBorradoRepartos.executeUpdate();
|
||||||
|
|
||||||
// Borrado de Películas de un director
|
// Borrado de Películas de un director
|
||||||
String sentenciaBorradoPeliculasHQL = "DELETE FROM Pelicula p WHERE p.director.identificador = :identificador";
|
String sentenciaBorradoPeliculasHQL = "DELETE FROM Pelicula p WHERE p.director.identificador = :identificador";
|
||||||
MutationQuery senteciaBorradoPeliculas = sesion.createMutationQuery(sentenciaBorradoPeliculasHQL);
|
MutationQuery senteciaBorradoPeliculas = sesion.createMutationQuery(sentenciaBorradoPeliculasHQL);
|
||||||
@ -114,9 +131,15 @@ public class DirectorDaoHibernate implements IOperacionesDAOEntidad<Director, In
|
|||||||
* Pais continente = sesion.find(Pais.class, clave); sesion.remove(continente);
|
* Pais continente = sesion.find(Pais.class, clave); sesion.remove(continente);
|
||||||
*/
|
*/
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
|
||||||
import org.hibernate.Session;
|
import org.hibernate.Session;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
import org.hibernate.query.MutationQuery;
|
import org.hibernate.query.MutationQuery;
|
||||||
@ -57,44 +56,60 @@ public class PaisDaoHibernate implements IOperacionesDAOEntidad<Pais, Integer> {
|
|||||||
@Override
|
@Override
|
||||||
public void crearEntidad(Pais entidad) {
|
public void crearEntidad(Pais entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Connection, Statement
|
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
sesion.persist(entidad);
|
sesion.persist(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actualizarEntidad(Pais entidad) {
|
public void actualizarEntidad(Pais entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Session
|
try {
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
if (!sesion.contains(entidad))
|
if (!sesion.contains(entidad))
|
||||||
sesion.merge(entidad);
|
sesion.merge(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (Exception e) {
|
}catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void borrarEntidadPorClave(Integer clave) {
|
public void borrarEntidadPorClave(Integer clave) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
|
||||||
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
// Borrado de repartos en los que la localización de la película es en el país a borrar
|
// Borrado de repartos en los que la localización de la película es en el país a borrar
|
||||||
// Borrado de repartos en los que el país de nacimiento del actor es en el país a borrar
|
// Borrado de repartos en los que el país de nacimiento del actor es en el país a borrar
|
||||||
// Borrado de repartos en los que el país de nacimiento del director de la película es en el país a borrar
|
// Borrado de repartos en los que el país de nacimiento del director de la película es en el país a borrar
|
||||||
@ -137,9 +152,15 @@ public class PaisDaoHibernate implements IOperacionesDAOEntidad<Pais, Integer> {
|
|||||||
senteciaBorradoPaises.executeUpdate();
|
senteciaBorradoPaises.executeUpdate();
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
}catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package org.lapaloma.aadd.cine.dao.hbnt;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
|
||||||
import org.hibernate.Session;
|
import org.hibernate.Session;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
import org.hibernate.query.MutationQuery;
|
import org.hibernate.query.MutationQuery;
|
||||||
@ -56,26 +55,33 @@ public class PeliculaDaoHibernate implements IOperacionesDAOEntidad<Pelicula, In
|
|||||||
@Override
|
@Override
|
||||||
public void crearEntidad(Pelicula entidad) {
|
public void crearEntidad(Pelicula entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Connection, Statement
|
try {
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
sesion.persist(entidad);
|
sesion.persist(entidad);
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actualizarEntidad(Pelicula entidad) {
|
public void actualizarEntidad(Pelicula entidad) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
// try con recursos "cerrables": Session
|
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
if (!sesion.contains(entidad))
|
if (!sesion.contains(entidad))
|
||||||
@ -83,17 +89,25 @@ public class PeliculaDaoHibernate implements IOperacionesDAOEntidad<Pelicula, In
|
|||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void borrarEntidadPorClave(Integer clave) {
|
public void borrarEntidadPorClave(Integer clave) {
|
||||||
Transaction transaccion = null;
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
transaccion = sesion.beginTransaction();
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
// Borrado de Repartos de una Película
|
// Borrado de Repartos de una Película
|
||||||
String sentenciaBorradoRepartosHQL = "DELETE FROM Reparto r WHERE r.pelicula.identificador = :identificador";
|
String sentenciaBorradoRepartosHQL = "DELETE FROM Reparto r WHERE r.pelicula.identificador = :identificador";
|
||||||
MutationQuery senteciaBorradoRepartos = sesion.createMutationQuery(sentenciaBorradoRepartosHQL);
|
MutationQuery senteciaBorradoRepartos = sesion.createMutationQuery(sentenciaBorradoRepartosHQL);
|
||||||
@ -107,9 +121,15 @@ public class PeliculaDaoHibernate implements IOperacionesDAOEntidad<Pelicula, In
|
|||||||
senteciaBorradoPeliculas.executeUpdate();
|
senteciaBorradoPeliculas.executeUpdate();
|
||||||
|
|
||||||
transaccion.commit();
|
transaccion.commit();
|
||||||
} catch (HibernateException e) {
|
} catch (Exception e) {
|
||||||
transaccion.rollback();
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user