/ / NHibernate - ¿cómo se sabe si la operación tuvo éxito la base de datos? - inhibir, excepción, sesión

NHibernate: ¿cómo saber si la operación de la base de datos tuvo éxito? - inhibir, excepción, sesión

Si, por ejemplo, llamo a session.Save (myObject), ¿cómo puedo determinar si la operación tuvo éxito o si falló porque mi servidor de base de datos se ha retirado de un ala delta?

¿NHibernate lanza un tipo particular de excepción en esta circunstancia?

Gracias

David

Respuestas

1 para la respuesta № 1

NHibernate aumentará las excepciones queocurrir. Estos se envuelven en una excepción NHibernate, por lo que debe examinar las InnerException (s) para obtener el original. En la mayoría de los casos, las operaciones de la base de datos se aplazan hasta que la sesión se vacíe, por lo que no recibirá notificaciones de error inmediatamente después de llamar a Guardar.

Dado que la capacidad de carga de un ala delta es muy limitada, espero que este problema específico solo ocurra con los servidores virtualizados.


0 para la respuesta № 2

No estoy seguro acerca de NHibernate, pero Hibernate dependeen otro código como, c3p0 para la agrupación de conexiones y otros servicios relacionados con la conexión. Entonces, si se pierde la conexión, este agrupador de conexiones debería lanzar alguna excepción, que probablemente se envuelva, como sugirió Jamie.