Frage

Könnte mir jemand sagen, was die Einheiten sind? SetTimeout(int) Methode in der ICriteria Schnittstelle verwendet?
Sind es Millisekunden, Sekunden, Minuten oder andere?

War es hilfreich?

Lösung

Ein wenig Herumstöbern deutet darauf hin, dass es Sekunden sein könnten:

Unter der Annahme, dass ICriteria mit der Criteria-Schnittstelle im Hibernate-Kern identisch ist, dann ist das JavaDoc für org.hibernate.Criteria gibt einen Hinweis – der Link „Siehe auch“ zu java.sql.Statement.setQueryTimeout().Letzterer bezeichnet seinen Timeout-Parameter in Sekunden.

Unter der Annahme, dass die NHibernate-Implementierung dem impliziten Vertrag dieser Methode folgt, sollte das in Ordnung sein.Um jedoch beruhigt zu sein, habe ich nach NHibernate-spezifischen Dingen gesucht.Es gibt verschiedene Verweise auf CommandTimeout;Zum Beispiel, Hier, bezogen auf NHibernate.Sicher genug, die Dokumentation für CommandTimeout gibt an, dass es Sekunden sind.

Ich hätte das Obige fast nicht gepostet, weil ich die Antwort nicht genau kenne und keine konkrete Dokumentation finden kann – aber da es zu diesem Thema so wenig gibt, dachte ich, dass es nicht schaden könnte, diese Ergebnisse zu präsentieren.

Andere Tipps

Ich denke, es sind Sekunden.Die NHibernate-API spiegelt weitgehend Hibernate Core für Java wider, wo die Criteria.setTimeout(int) Die Methode verwendet Sekunden als Einheiten (siehe auch Statement.setQueryTimeout(int)).

Wenn man sich außerdem einige NHibernate-Quellen ansieht, scheint es, dass dieser Wert verwendet wird, um das Zeitlimit für die zugrunde liegende ADO.NET-Abfrage festzulegen, die Sekunden verwendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top