cambios para el uso de getCurrentSession()
This commit is contained in:
parent
3898df1d77
commit
a71c8bd259
@ -165,21 +165,21 @@ public class ActorDaoHibernate implements IActorDAO {
|
||||
@Override
|
||||
public Actor obtenerActorPorNombre(String nombre) {
|
||||
Actor actor = null;
|
||||
|
||||
String sentenciaHQL = "SELECT a FROM Actor a WHERE a.nombre = :nombre";
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<Actor> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Actor.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombre);
|
||||
actor = sentenciaConsulta.getSingleResultOrNull();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
SelectionQuery<Actor> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Actor.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombre);
|
||||
actor = sentenciaConsulta.getSingleResultOrNull();
|
||||
|
||||
return actor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarActor(Actor actor) throws Exception {
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
sesion.merge(actor);
|
||||
if (!sesion.contains(actor))
|
||||
sesion.merge(actor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -165,26 +165,27 @@ public class DirectorDaoHibernate implements IDirectorDAO {
|
||||
public Director obtenerDirectorPorNombre(String nombre) {
|
||||
Director director = null;
|
||||
String sentenciaHQL = "SELECT d FROM Director d WHERE d.nombre = :nombre";
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<Director> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Director.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombre);
|
||||
director = sentenciaConsulta.getSingleResultOrNull();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
SelectionQuery<Director> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Director.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombre);
|
||||
director = sentenciaConsulta.getSingleResultOrNull();
|
||||
|
||||
return director;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarDirector(Director director) throws Exception {
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
sesion.merge(director);
|
||||
if (!sesion.contains(director))
|
||||
sesion.merge(director);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertarDirector(Director director) throws Exception {
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
sesion.persist(director);
|
||||
sesion.persist(director);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -188,27 +188,27 @@ public class PeliculaDaoHibernate implements IPeliculaDAO {
|
||||
@Override
|
||||
public Pelicula obtenerPeliculaPorTitulo(String titulo) {
|
||||
Pelicula pelicula = null;
|
||||
|
||||
String sentenciaHQL = "SELECT p FROM Pelicula p WHERE p.titulo = :titulo";
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<Pelicula> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Pelicula.class);
|
||||
sentenciaConsulta.setParameter("titulo", titulo);
|
||||
pelicula = sentenciaConsulta.getSingleResultOrNull();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
SelectionQuery<Pelicula> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Pelicula.class);
|
||||
sentenciaConsulta.setParameter("titulo", titulo);
|
||||
pelicula = sentenciaConsulta.getSingleResultOrNull();
|
||||
|
||||
return pelicula;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarPelicula(Pelicula pelicula) throws Exception {
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
sesion.merge(pelicula);
|
||||
if (!sesion.contains(pelicula))
|
||||
sesion.merge(pelicula);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertarPelicula(Pelicula pelicula) throws Exception {
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
sesion.persist(pelicula);
|
||||
sesion.persist(pelicula);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -191,7 +191,8 @@ public class RepartoDaoHibernate implements IRepartoDAO {
|
||||
@Override
|
||||
public void actualizarReparto(Reparto reparto) throws Exception {
|
||||
Session sesion = GestorSesionesHibernate.getCurrentSession();
|
||||
sesion.merge(reparto);
|
||||
if (!sesion.contains(reparto))
|
||||
sesion.merge(reparto);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@ public class ProcesadorPeliculasJSON {
|
||||
Transaction transaccion = null;
|
||||
// Usamos getCurrentSession para que todos los DAO usen la misma sesión y
|
||||
// transacción
|
||||
try (Session sesion = GestorSesionesHibernate.getSession()) {
|
||||
try (Session sesion = GestorSesionesHibernate.getCurrentSession()) {
|
||||
// Iniciar transacción
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
@ -76,20 +76,24 @@ public class ProcesadorPeliculasJSON {
|
||||
|
||||
String idioma = nodoPelicula.get("idioma").asString();
|
||||
boolean color = nodoPelicula.get("color").asBoolean();
|
||||
int anyo = nodoPelicula.get("anyo").asInt();
|
||||
|
||||
|
||||
// Si la película no existe se crea nueva, si no se actualiza
|
||||
if (pelicula == null) {
|
||||
pelicula = new Pelicula();
|
||||
pelicula.setTitulo(titulo);
|
||||
pelicula.setAnyo(anyo);
|
||||
pelicula.setPaisLocalizacion(paisLocalizacion);
|
||||
pelicula.setDirector(director);
|
||||
pelicula.setIdioma(idioma);
|
||||
pelicula.setColor(color);
|
||||
pelicula.setObservacion(observacionJSON);
|
||||
pelicula.setObservacion(observacionJSON.substring(0, 50)); // Limitar a 50 caracteres (de la BBDD)
|
||||
|
||||
peliculaDAO.insertarPelicula(pelicula);
|
||||
} else {
|
||||
pelicula.setTitulo(titulo);
|
||||
pelicula.setAnyo(anyo);
|
||||
pelicula.setPaisLocalizacion(paisLocalizacion);
|
||||
pelicula.setDirector(director);
|
||||
pelicula.setIdioma(idioma);
|
||||
@ -112,7 +116,7 @@ public class ProcesadorPeliculasJSON {
|
||||
// Confirmar transacción
|
||||
transaccion.commit();
|
||||
|
||||
System.out.println("Procesada con éxito la película: " + titulo);
|
||||
System.out.println("Se ha procesado con éxito la película: " + titulo);
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<property name="show_sql">false</property>
|
||||
<property name="format_sql">flase</property>
|
||||
|
||||
<!-- Propuedad para gestionar el contexto de la sesión actual de Hibernate -->
|
||||
<!-- Propiedad para gestionar el contexto de la sesión actual de Hibernate -->
|
||||
<property name="hibernate.current_session_context_class">thread</property>
|
||||
|
||||
<mapping class="org.lapaloma.aadd.cine.vo.Continente"></mapping>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user