如何在休眠状态下配置连接超时?
问题描述:
我使用Java 1.7的Hibernate v4.1.4.final.jar连接到Oracle 10g服务器。这是一个独立的Java程序。如何在休眠状态下配置连接超时?
不幸的是,我的查询需要30多分钟才能运行。我想知道在哪里可以配置连接超时&读取超时,以便在运行此独立程序时,它不会超时并抛出错误?
谢谢!
答
有,你可以尝试以下几种选择:
- 如果您使用支持超时功能,可通过属性来配置JDBC驱动程序,那么你可以对物业使用传递:
hibernate.connection.<propertyname>
- 使用外部连接提供商,如c3p0或DBCP,并控制超时为外部提供商支持。
- 将您的休眠配置为使用
DataSource
而不是简单Connection
并通过该控制超时。
我能找到的Oracle driver的最近物业是oracle.jdbc.ReadTimeout
物业。因此,在您的休眠配置中,全名将为hibernate.connection.oracle.jdbc.ReadTimeout
..hope这适用于您。
答
默认情况下,它不会抛出任何类型的错误,FWIW ...如果您运行查询,它将工作,AFAIK。
在连接超时的条款,你可以在你的
hibernate.connection.url
特定选项来指定您的数据库,例如:Postgres的我最好add&connectTimeout=0
你如何获得的_DataSource/Connection_为休眠? – 2012-07-24 23:28:13
通过hibernate.cfg.xml – Mike 2012-07-25 00:17:17