我有一个任务来实现数据库调用超时。我们使用hibernate框架。我在 hibernate.xml 文件中配置了以下超时。
Hibernate.xml
- 连接超时 -> hibernate.c3p0.timeout : 44000
- 套接字读取 超时 -> hibernate.connection.oracle.jdbc.ReadTimeout: 60000
我想知道套接字读取超时和查询超时之间的区别。任何配置查询超时的帮助都会更好。 预先感谢!
最佳答案
当您使用并关闭连接时, hibernate 状态会保留它以供稍后重用...
当达到连接超时
时,连接将被关闭,如果池未满,则会打开另一个连接。
查询超时是查询在被强制关闭(长查询)之前允许运行的最长时间
如果您遇到套接字超时问题,您应该设置一个validationQuery
,例如
对于 Oracle 数据库,从双中选择 1
选择 1
对于 MySQL 数据库
关于java - hibernate中的Socket超时和Query超时有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34899732/