La 2da opcion de Nelo, de manejar la transaccion de manera explicita, o con un "commit" no tan retardado, me parece un mejor approach. El dejar para lo ultimo el commit rollback puede llegar a complicar el manejo de excepciones para reponer la aplicación.
Ok, esta fue la ultima, ahora si me voy a dormir. Un abrazo 2012/5/22 [email protected] <[email protected]> > Hola Arlen, > > El enfoque de manejar session y transaction por request es asumiendo > que tu aplicación solo va a lanzar excepciones en casos excepcionales > (hasta suena lógico), todos los casos que vos querés contemplar los > tenés que validar sin esperar a que "explote" la aplicación. Ejemplo > de esto es un campo (en la db) que no admite null, en este enfoque > deberías validar antes de hacer el save que la propiedad (del objeto) > no esté en null. > > El otro enfoque sería que manejes solo al session por request y la > transaction en forma explícita, preferentemente dentro de un bloque > using. Esto te permitiría controlar mejor los rollback y las > excepciones, aunque con un poco de trabajo extra a la primera opción > donde, de alguna manera, te desentendes de la transaction. > > saludos. > nelo > > 2012/5/9 Arlen <[email protected]>: > > Hola grupo tengo una pequeña duda con el manejo de la session de > > hibernate en un entorno web. Estoy usando el patron session-per- > > request porque creo es el que mejor se adapta a mi proyecto. Me estoy > > basando en la configuración descrita en el artículo: nhibernate best > > practices. En ese articulo se crea la session y junto a ella una > > transacción cade vez que se inicia una peticion y a su vez se cierra > > la transacción y la session al finalizar el request. Hasta ahora > > cuando todo marcha ok no hay problemas pero cuando hay un error que se > > detecta al cerrar la session creo que al hacer flush se me hace > > dificil capturarlo adecuadamente y darle el debido tratamiento. > > Agredeceria si alguien me puede indicar donde esta el problema o donde > > hay bibliografia sobre este tema. La verdad quisiera utilizar la > > transaccion en el ambito del GenericDAO y no a través del httphandler. > > Gracias. > > > > -- > > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Dario Quintana -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
