NHibernate - как узнать, успешно ли работала база данных? - PullRequest
0 голосов
/ 14 июля 2010

Если, например, я вызываю session.Save (myObject), как определить, была ли операция выполнена успешно или произошла ошибка из-за того, что мой сервер баз данных выпал из дельтаплана?

Выдает NHibernateконкретный тип исключения в этом случае?

Спасибо

Дэвид

Ответы [ 2 ]

1 голос
/ 14 июля 2010

NHibernate будет сообщать обо всех возникающих исключениях.Они заключены в исключение NHibernate, поэтому вам нужно изучить InnerException, чтобы получить оригинал.В большинстве случаев операции с базой данных откладываются до тех пор, пока сеанс не будет сброшен, поэтому вы не будете получать уведомления об ошибках сразу после вызова Save.

Поскольку пропускная способность дельтаплана очень ограничена, я ожидаю, что эта конкретная проблемабудет происходить только с виртуальными серверами.

0 голосов
/ 14 июля 2010

Не уверен насчет NHibernate, но Hibernate зависит от другого кода, например, c3p0 для пула соединений и других сервисов, связанных с соединением. Поэтому, если соединение потеряно, то этот диспетчер соединений должен выдать какое-то исключение, которое, вероятно, будет упаковано, как предположил Джейми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...