【问题标题】:how to set query level time out in hibernate 3 + oracle using java如何使用java在hibernate 3 + oracle中设置查询级别超时
【发布时间】: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 杀死或取消长时间运行的查询

标签: java oracle hibernate hibernate3


【解决方案1】:

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

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

【讨论】:

  • 它不工作。如何使用 java 终止或取消来自 oracle 11g 和 Hibernate 3 的长时间运行的查询...
猜你喜欢
  • 1970-01-01
  • 2011-01-07
  • 2014-07-30
  • 2016-11-03
  • 1970-01-01
  • 2019-11-28
  • 2021-10-15
  • 2016-04-05
相关资源
最近更新 更多