1

我正在使用 Hibernate v4.1.4.final.jar 使用 Java 1.7 连接到 Oracle 10g 服务器。这是一个独立的java程序。

不幸的是,我的查询需要 30 多分钟才能运行。我想知道在哪里可以配置连接超时和读取超时,以便在运行这个独立程序时,它不会超时并抛出错误?

谢谢!

4

2 回答 2

5

您可以尝试以下几个选项:

  1. 如果您使用的 jdbc 驱动程序支持超时功能并且可以通过属性进行配置,那么您可以使用以下方式传递属性:hibernate.connection.<propertyname>
  2. 使用c3p0DBCP等外部连接提供程序,并根据外部提供程序支持控制超时。
  3. 将您的休眠配置为使用DataSource而不是普通Connection并通过它控制超时。

我能为Oracle 驱动程序找到的最接近的属性是oracle.jdbc.ReadTimeout属性。所以在你的休眠配置中,全名将是hibernate.connection.oracle.jdbc.ReadTimeout..希望这对你有用。

于 2012-07-25T03:03:01.113 回答
0

默认情况下,它不会抛出任何类型的错误,FWIW ...如果您运行查询,它就会正常工作,AFAIK。

在连接超时方面,您可以在您的

hibernate.connection.url您的数据库的特定选项,例如:我要添加的 Postgres &connectTimeout=0

于 2018-02-08T19:56:08.627 回答