2016-04-25 86 views
0

我想爲Hibernate Java應用程序中的將近30-40個查詢設置查詢超時時間。有沒有辦法讓我可以爲每個查詢設置所有30-40個查詢的時間,而不用使用statement.setQueryTimeout設置30-40查詢的超時時間

+0

您可以設置所有查詢的默認超時http://stackoverflow.com/questions/2101455/hibernate-set-default-query-timeout – RubioRic

回答

0

用途:

query.setMaxResult(40); // for set bound of query results. 

然後

session.getTransaction().setTimeout(3); //set transaction timeout to 3 seconds 
    session.getTransaction().begin(); 

您應該傳遞(請註明)查詢結果(setFirstResult,setMaxResult)每次當你調用方法時的數量。 或在你的休眠配置中使用hibernate.c3p0.timeout。

+0

我認爲OP想要一個解決方案應用於30或40個不同的查詢而不修改它們中的每一個。如果他們不參與同一交易,你的回答與這個問題有什麼關係?沒有人提到設置最大的結果。也沒有提到C3P0。 – RubioRic

+0

我想他只是問他如何使查詢超時,c3p0可以使超時,並有許多其他相關的事情來查詢管理和連接。例如 1000