Может ли кто-нибудь сказать мне, что использует метод SetTimeout(int)
в интерфейсе ICriteria
?
Это миллисекунды, секунды, минуты или другое?
NHibernate SetTimeout на ICriteria
Ответ 1
Немного о том, чтобы выкачать, предполагает, что это могут быть секунды:
Предполагая, что ICriteria совпадает с интерфейсом Criteria в ядре Hibernate, тогда JavaDoc для org.hibernate.Criteria дает подсказку: "см. также" ссылку на java.sql.Statement.setQueryTimeout(). Последний относится к его параметру тайм-аута в секундах.
Предполагая, что реализация NHibernate следует за подразумеваемым контрактом этого метода, тогда это должно быть хорошо. Однако, ради душевного спокойствия, я пошел и искал некоторые вещи NHibernate. Существуют различные ссылки на CommandTimeout; например, здесь, относящийся к NHibernate. Разумеется, в документации для CommandTimeout указано, что она секунд.
Я почти не писал выше, потому что я не знаю ответа прямо и не могу найти какую-либо конкретную документацию, но, поскольку в этом вопросе так мало, я полагал, что это не помешает представить эти выводы.
Ответ 2
Я думаю, что это секунды. API-интерфейс NHibernate тесно связан с Hibernate Core для Java, где метод Criteria.setTimeout(int) использует секунды в качестве единиц (см. Также Statement.setQueryTimeout(int)).
Кроме того, после просмотра некоторого источника NHibernate, он показывает, что он использует это значение для установки тайм-аута для базового запроса ADO.NET, который использует секунды.