2016-01-20 94 views
1

我有一個任務來實現數據庫調用超時。我們使用hibernate框架。我在hibernate.xml文件中配置了超時。休眠期間套接字超時和查詢超時有什麼區別?

Hibernate.xml

  • 連接超時 - > hibernate.c3p0.timeout:44000
  • 套接字讀取 超時 - > hibernate.connection.oracle.jdbc.ReadTimeout:60000

我想知道套接字讀取超時和查詢超時之間的區別。配置查詢超時的任何幫助都會更好。 在此先感謝!

回答

0

當您使用和關閉連接,休眠保持重用稍後時間...

Connection timeout達到連接被關閉,如果池不充分,另一個連接被打開。

查詢超時是不允許查詢。如果你有問題套接字超時問題,您應該設置一個validationQuery

select 1 from dual甲骨文是強行關閉(長查詢)

之前運行的最大時間數據庫
select 1對於MySQL數據庫

+0

我們使用Hibernate標準來查詢數據庫。如何在hibernate.xml文件中設置查詢(標準)超時? – sugi

+0

您在每個查詢上設置它,如下所示:criteria.setTimeout(TIMEOUT_IN_SECONDS); –