有人能告诉我接口中的SetTimeout(int)
方法ICriteria
使用的单位是什么吗?
是毫秒,秒,分钟还是其他?
一点点的探讨表明它可能是几秒钟:
假设ICriteria与Hibernate核心中的Criteria接口相同,那么org.hibernate.Criteria的JavaDoc 提供了一个提示 - java.sql.Statement.setQueryTimeout()的"see also"链接.后者将其超时参数称为秒.
假设NHibernate实现遵循该方法的隐含契约,那么这应该没问题.但是,为了安心,我去寻找一些NHibernate特定的东西.CommandTimeout有各种引用; 例如,这里,与NHibernate有关.果然,CommandTimeout的文档声明它是秒.
我几乎没有发布上述内容,因为我完全不知道答案,也找不到任何具体的文件 - 但由于问题很少,我认为提出这些结论并不会有什么坏处.
我想这是秒.NHibernate API密切反映了Hibernate Core for Java,其中Criteria.setTimeout(int)方法使用秒作为单位(另请参见Statement.setQueryTimeout(int)).
此外,在查看了一些NHibernate源之后,看起来它正在使用该值来设置底层ADO.NET查询的超时,该查询使用秒.