稍微调查一下,似乎可能是秒数:假设 ICriteria 与 Hibernate 核心中的 Criteria 接口相同,则 org.hibernate.Criteria 的 JavaDoc 提供了一个提示 - “参见”链接到 java.sql.Statement.setQueryTimeout()。后者将其超时参数称为秒。假设 NHibernate 实现遵循该方法的隐含合同,则应该没问题。但是,出于安心考虑,我去找了一些 NHibernate 特定的东西。有各种与 CommandTimeout 相关的引用;例如,here,与 NHibernate 相关。毫无疑问,CommandTimeout 的文档 表示它是以秒为单位的。我几乎没有发布上述内容,因为我不知道答案,也找不到任何具体的文档 - 但是由于这个问题很少有相关资料,所以我认为呈现这些发现不会有害。
我认为这是秒。NHibernate API紧密地模仿了Java的Hibernate Core,其中Criteria.setTimeout(int)方法使用秒作为单位(另请参见Statement.setQueryTimeout(int))。此外,在查看一些NHibernate源代码后,似乎它使用该值来设置底层ADO.NET查询的超时时间,该查询使用秒作为单位。