当前位置:  开发笔记 > 数据库 > 正文

ICriteria上的NHibernate SetTimeout

如何解决《ICriteria上的NHibernateSetTimeout》经验,为你挑选了2个好方法。

有人能告诉我接口中的SetTimeout(int)方法ICriteria使用的单位是什么吗?
是毫秒,秒,分钟还是其他?



1> Rob..:

一点点的探讨表明它可能是几秒钟:

假设ICriteria与Hibernate核心中的Criteria接口相同,那么org.hibernate.Criteria的JavaDoc 提供了一个提示 - java.sql.Statement.setQueryTimeout()的"see also"链接.后者将其超时参数称为秒.

假设NHibernate实现遵循该方法的隐含契约,那么这应该没问题.但是,为了安心,我去寻找一些NHibernate特定的东西.CommandTimeout有各种引用; 例如,这里,与NHibernate有关.果然,CommandTimeout的文档声明它是秒.

我几乎没有发布上述内容,因为我完全不知道答案,也找不到任何具体的文件 - 但由于问题很少,我认为提出这些结论并不会有什么坏处.



2> David Crow..:

我想这是秒.NHibernate API密切反映了Hibernate Core for Java,其中Criteria.setTimeout(int)方法使用秒作为单位(另请参见Statement.setQueryTimeout(int)).

此外,在查看了一些NHibernate源之后,看起来它正在使用该值来设置底层ADO.NET查询的超时,该查询使用秒.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有