如何在休眠中配置连接超时?

时间:2012-07-24 23:02:21

标签: java hibernate

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

不幸的是,我的查询运行时间超过30分钟。我想知道在哪里可以配置连接超时&读取超时,以便在运行此独立程序时,它不会超时并抛出错误吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以尝试一些选项:

  1. 如果您使用的jdbc驱动程序支持超时功能并且可以通过属性进行配置,那么您可以使用以下命令传递属性:hibernate.connection.<propertyname>
  2. 使用外部连接提供程序,例如 c3p0 DBCP ,并控制超时,因为这些外部提供程序支持
  3. 将您的休眠配置为使用DataSource而不是普通Connection并通过它控制超时。
  4. 我可以为Oracle driver找到的最近的属性是oracle.jdbc.ReadTimeout属性。所以在你的hibernate配置中,整个名称都是hibernate.connection.oracle.jdbc.ReadTimeout ..希望这对你有用。

答案 1 :(得分:0)

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

就连接超时而言,您可以在

中指定

hibernate.connection.url您的数据库的特定选项,例如:Postgres I&#39; d add &connectTimeout=0