如何使用java在hibernate 3 + oracle中设置查询级别超时

Posted

技术标签:

【中文标题】如何使用java在hibernate 3 + oracle中设置查询级别超时【英文标题】:how to set query level time out in hibernate 3 + oracle using java 【发布时间】:2016-12-18 08:48:45 【问题描述】:

我想停止在 Oracle + Hibernate 3 + Java 中长时间运行的查询。

我尝试使用下面的代码 sn-ps 设置超时,但没有成功。

1.

query = session.createQuery("from table");
query.setTimeout(1000);
list = query.list();

2.

Transaction tx = session.getTransaction();
tx.setTimeout(1000);
tx.begin(); 
query = session.createQuery("from table");
list = query.list();

有人可以帮我解决这个问题吗?

提前致谢。

【问题讨论】:

如何在 oracle 11g 和 Hibernate 3 中使用 java 杀死或取消长时间运行的查询 【参考方案1】:

您可以尝试此处列出的选项Hibernate: set default query timeout?

此外,如果您托管一个 webservice ,在该 webservice 下运行此 Db 查询,并希望在 x 秒内未返回响应时使 webservice 超时,那么您可以为 webservice 设置连接超时(即使在服务器端)。注意:这不会杀死运行查询的 oracle 进程。 Spring ws timeout on server side

【讨论】:

它不工作。如何使用 java 终止或取消来自 oracle 11g 和 Hibernate 3 的长时间运行的查询...

以上是关于如何使用java在hibernate 3 + oracle中设置查询级别超时的主要内容,如果未能解决你的问题,请参考以下文章

如何使用java在hibernate 3 + oracle中设置查询级别超时

如何在基于 JAVA 的 spring config 中配置 Hibernate Db 连接设置

Java面试-框架篇(SSH-hibernate or Strut2)

Hibernate Criteria Restrictions AND / OR 组合

java企业级框架 SpringMVC_mybatis or hibernate+ ehcache +shiro+druid+bootstrap+HTML5

如何使用 Spring-Security 3 和 Hibernate 4 将 spring security xml 配置 hibernate 转换为 java config