O NHibernate SetTimeout no ICriteria
-
09-06-2019 - |
Pergunta
Alguém poderia me dizer o que as unidades da SetTimeout(int)
método na ICriteria
a interface utiliza?
É milisegundos, segundos, minutos ou outras?
Solução
Um pouco de investigação sugere que ele poderia ser de segundos:
Supondo que ICriteria é o mesmo que os Critérios de interface no Hibernate core, então o JavaDoc para org.o hibernate.Critérios fornece uma dica - o link "consulte também" para o java.sql.Instrução.setQueryTimeout().Este último refere-se ao seu parâmetro de tempo limite como segundos.
Supondo que o NHibernate implementação segue o contrato implícito de que o método, em seguida, que deve ser fina.No entanto, para a paz da mente amor de deus, eu fui e olhei para alguns NHibernate material específico.Há várias referências a CommandTimeout;por exemplo, aqui, relacionadas com o NHibernate.Com certeza, o documentação para CommandTimeout afirma que é segundos.
Eu quase não posto acima, porque eu não sei a resposta definitiva, e não pode encontrar qualquer concreto documentação - mas, desde há tão pouco sobre o assunto, eu percebi que ele não poderia ferir a apresentar estes resultados.
Outras dicas
Eu acho que é questão de segundos.O NHibernate API seguiu de perto o Hibernate Core para Java, onde o Critérios.setTimeout(int) o método utiliza segundos como as unidades (ver também Instrução.setQueryTimeout(int)).
Também, depois de olhar alguns NHibernate de origem, parece que ele está usando esse valor para definir o tempo limite para subjacente ADO.NET consulta, que usa segundos.