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