代码之家  ›  专栏  ›  技术社区  ›  David

如何知道数据库操作是否成功?

  •  -1
  • David  · 技术社区  · 14 年前

    例如,如果我调用session.Save(myObject),如何确定操作成功还是失败,因为我的数据库服务器已退出挂起滑翔机?

    在这种情况下,NHibernate是否抛出特定类型的异常?

    谢谢

    大卫

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jamie Ide    14 年前

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

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

        2
  •  0
  •   Abhijeet Kashnia    14 年前

    不确定NHibernate,但是Hibernate依赖于其他代码,比如c3p0来实现连接池和其他与连接相关的服务。因此,如果连接丢失,那么这个连接池应该抛出一些异常,这可能会被包装,正如Jamie所建议的那样。