Entrar
¿Nuevo usuario? Inscribirme
DesarrolloJava · Desarrollo de Software en Java/J++/J#
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés añadir enlaces a sitios relacionados de tu grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Hibernate + Transacciones + Web   Lista de mensajes  
Responder | Reenviar Mensaje #20861 de 25905 |
Re: [Java] Hibernate + Transacciones + Web

Evaluando tu respuesta veo que no se puede hacer algo muy generico, pero queizas no este mal lo que estoy haciendo, que opinas

Tengo una clase DAO la cual persiste mis objetos utilizando Hibernate, ahora bien, en una transaccion persisto varios objetos de una lista.  Devo mantener la integridad y si alguno de estos objeto de la lista falla debo hacer el roolback de todo, pero esto me implica hacer el flush luego del metodo save de la session para conocer si el objeto fue persistido correctamente

Por su puesto el metodo save de mi dao es generico para todos los objetos, con lo cual cada vez que hago el save, se ejecuta el flush

Estaria mal hacer esto

De todas formas muchas gracias por ayudarme
Un abrazo

Dario
 

Ignacio Poletti <ignacio@...> escribió:
Por lo que lei alguna vez no se hace el flush constantemente por una
cuestion de performance, es mejor en este aspecto enviar a ejecutar un
conjunto de instrucciones (buffer) que hacerlo de a una (lo mismo sucede
al escribir un archivo a disco).

No se si se podrá configurar un "autoflush".

saludos

Dario Javier Nutz wrote:
> Gracias Ignacio,
>
> Por lo que vi hasta ahora parece la mejor solución, lo que me gustaria
> saber ahora si es lo que todos usan luego de ahcer un session.save o
> hay alguna otra forma. No entiendo si esta es la manera correcta
> porque los desarrolladores de hibernate no ponen el flush internamente
> en el save
>
> de todas formas muchas gracias por tu ayuda
>
> Dario
>
> Ignacio Poletti <ignacio@polesoft.com.ar> escribió:
> Con un session.flush() luego del .save() va a forzar a ejecutar
> el SQL, si
> hay un error de constraint te vas a enterar por una excepcion.
>
> Si no usas un flush los SQL los puede ejecutar al hacer el commit o
> antes,
> en cualquier momento.
>
> No se si te sirve o si es prolijo...
> Saludos
>
> Ignacio
>
> Dario Javier Nutz wrote:
> > Hola,
> >
> > Necesito ayuda con lo siguinete: Hice una aplicacion web con tomcat
> y
> > en un a clase SessionFilter en el metodo doFilter hago la llamada a:
> >
> > Session session =
> > HibernateUtil.getSessionFactory().getCurrentSession();
> > session.beginTransaction();
> >
> > try {
> > chain.doFilter(request, response);
> > session.commit();
> > } catch(Exception e) {
> > session.rollback();
> > }
> >
> > De esta forma puedo obtener objetos con configuración LAZY que se van
> > cargando a medida que los muestro sus atributis en los JSP.
> >
> > El tema es que si creo un objeto y por ejemplo este ya existe no me
> entero
> > hasta que termina el requerimiento.
> >
> > La que se me ocurrio fue hacer el commit luego de hacer el session.save
> > pero tengo que asumir que otro proceso en el mismo requerimiento puede
> > haer una consulta y en ese caso ya no tengo una transaccion activa para
> > utilizar la propiedad LAZY.
> >
> > Alguien puede darme una mano?
> >
> > Gracias.-
> >
> > Dario
> >
> >
> > ---------------------------------
> >
> > Sé un Mejor Amante del Cine
> > ¿Quieres saber cómo? ¡Deja que otras personas te ayuden!.
> >
>
>
>
>
>
>
> Dario Javier Nutz
>
> AG Developments SA
> Sistemas y Comunicaciones
> ---------------------------------
> Perú 590 - Piso 10 - Oficina 'C'
> Ciudad de Buenos Aires - Argentina
> Te: (5411) 4342-3135
> Cel:15-5472-1825
> e-mail:dario.nutz@agdevelopments-sa.com
> web: http://www.agdevelopments-sa.com
>
> ---------------------------------
>
> Sé un Mejor Amante del Cine
> ¿Quieres saber cómo? ¡Deja que otras personas te ayuden!.
>




Dario Javier Nutz

AG Developments  SA
Sistemas y Comunicaciones 
Perú 590 - Piso 10 - Oficina 'C'
Ciudad de Buenos Aires - Argentina
Te: (5411) 4342-3135
Cel:15-5472-1825
e-mail:dario.nutz@...
web: http://www.agdevelopments-sa.com



Sé un Mejor Amante del Cine
¿Quieres saber cómo? ¡Deja que otras personas te ayuden! .


Jue, 2 de Ago, 2007 2:47 pm

dario_jn
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #20861 de 25905 |
Desplegar mensajes Autor Ordenar por fecha

Hola, Necesito ayuda con lo siguinete: Hice una aplicacion web con tomcat y en un a clase SessionFilter en el metodo doFilter hago la llamada a: Session...
Dario Javier Nutz
dario_jn
Sin conexión Enviar correo
1 de Ago, 2007
8:07 pm

Con un session.flush() luego del .save() va a forzar a ejecutar el SQL, si hay un error de constraint te vas a enterar por una excepcion. Si no usas un flush...
Ignacio Poletti
polesoft
Sin conexión Enviar correo
1 de Ago, 2007
9:07 pm

Gracias Ignacio, Por lo que vi hasta ahora parece la mejor solución, lo que me gustaria saber ahora si es lo que todos usan luego de ahcer un session.save o...
Dario Javier Nutz
dario_jn
Sin conexión Enviar correo
2 de Ago, 2007
1:20 pm

Por lo que lei alguna vez no se hace el flush constantemente por una cuestion de performance, es mejor en este aspecto enviar a ejecutar un conjunto de...
Ignacio Poletti
polesoft
Sin conexión Enviar correo
2 de Ago, 2007
2:29 pm

http://www.hibernate.org/hib_docs/v3/api/org/hibernate/class-use/FlushMode.html Te dice el uso de los distintos flush modes. ...
Victor Gerber
gerber.victor
Sin conexión Enviar correo
2 de Ago, 2007
3:48 pm

ya revise antes esto Victor, si está en ALWAYS lo hace siempre pero en algunas situaciones que explica en el capitulo de Flushing. From time to time the...
Dario Javier Nutz
dario_jn
Sin conexión Enviar correo
2 de Ago, 2007
8:55 pm

Buenas, Probablemente puedas resolver el probelma usando open_session_in_view Algunos links sobre el tema ...
javier hector
vrhj2000
Sin conexión Enviar correo
3 de Ago, 2007
10:46 pm

Evaluando tu respuesta veo que no se puede hacer algo muy generico, pero queizas no este mal lo que estoy haciendo, que opinas Tengo una clase DAO la cual...
Dario Javier Nutz
dario_jn
Sin conexión Enviar correo
2 de Ago, 2007
3:51 pm
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda