NHibernate SetTimeout关于标准
时间:2020-03-05 18:44:50 来源:igfitidea点击:
有人可以告诉我ICriteria接口中SetTimeout(int)方法使用的单位吗?
是毫秒,秒,分钟还是其他?
解决方案
回答
我想是几秒钟。 NHibernate API与Java的Hibernate Core紧密相似,其中Criteria.setTimeout(int)方法使用秒为单位(另请参见Statement.setQueryTimeout(int))。
同样,在查看了NHibernate某些源之后,似乎它正在使用该值来设置基础ADO.NET查询的超时(使用秒)。
回答
稍微戳一下,可能需要几秒钟:
假设ICriteria与Hibernate核心中的Criteria接口相同,则org.hibernate.Criteria的JavaDoc会提供一个提示,即指向java.sql.Statement.setQueryTimeout()的"另请参见"链接。后者将其超时参数称为秒。
假设NHibernate实现遵循该方法的隐含约定,则应该可以。但是,为了省心,我去找了一些NHibernate特定的东西。有许多对CommandTimeout的引用。例如,这里与NHibernate有关。果然,CommandTimeout的文档指出这是秒。
我几乎没有发布以上内容,因为我不完全知道答案,也找不到任何具体的文档,但是由于问题很少,我认为提出这些发现不会有任何伤害。