NHibernate - 你怎么知道数据库操作是否成功?

时间:2010-07-14 10:24:19

标签: nhibernate exception session

例如,如果我调用session.Save(myObject),如何确定操作是否成功或者是否因为我的数据库服务器已从悬挂式滑翔机中删除而失败?

NHibernate会在这种情况下抛出特定类型的异常吗?

由于

大卫

2 个答案:

答案 0 :(得分:1)

NHibernate将冒出任何发生的异常。这些包装在NHibernate异常中,因此您必须检查InnerException以获取原始异常。在大多数情况下,数据库操作会延迟到刷新会话,因此在调用Save时不会立即收到错误通知。

由于悬挂式滑翔机的承载能力非常有限,我预计这个特定问题只会发生在虚拟化服务器上​​。

答案 1 :(得分:0)

不确定NHibernate,但Hibernate依赖于其他代码,例如c3p0用于连接池和其他连接相关服务。因此,如果连接丢失,那么这个连接pooler应该抛出一些异常,这可能会被包裹起来,就像Jamie建议的那样。