Qualcuno potrebbe dirmi quali sono le unità del metodo SetTimeout(int)
nell'interfaccia ICriteria
?
È in millisecondi, secondi, minuti o altro?NHibernate SetTimeout su ICriteria
risposta
Un po 'di rovistando suggerisce che potrebbe essere secondi:
Supponendo che ICriteria è lo stesso come interfaccia Criteri al nucleo Sospensione, quindi JavaDoc per org.hibernate.Criteria fornisce un suggerimento - "Vedi anche" collegamento a java.sql.Statement.setQueryTimeout(). Quest'ultimo si riferisce al suo parametro di timeout come secondi.
Supponendo che l'implementazione di NHibernate segua il contratto implicito di quel metodo, allora dovrebbe andare bene. Tuttavia, per la pace della mente, sono andato a cercare alcune cose specifiche di NHibernate. Ci sono vari riferimenti a CommandTimeout; ad esempio, here, relativo a NHibernate. Abbastanza sicuro, il documentation for CommandTimeout afferma che è secondi.
Quasi non ho postato quanto sopra, perché non conosco la risposta a titolo definitivo, e non riesco a trovare alcuna documentazione concreta - ma dal momento che c'è così poco sul problema, ho pensato che non poteva far male a presenti questi risultati.
Penso che sia secondi. L'API di NHibernate rispecchia da vicino Hibernate Core per Java, dove il metodo Criteria.setTimeout(int) utilizza i secondi come unità (vedere anche Statement.setQueryTimeout(int)).
Inoltre, dopo aver esaminato una fonte di NHibernate, sembra che stia usando quel valore per impostare il timeout per la query ADO.NET sottostante, che utilizza secondi.