在Oracle 12.1.0.2上使用ojdbc7和hibernate 3.2.0返回的结果集已关闭 我们有一个遗留的java应用程序,必须从oracle 11g迁移到12.1.0.2 应用程序使用的是ojdbc14驱动程序,我们必须将其更改为ojdbc7,否则它无法连接到数据库 在我们更改了ojdbc驱动程序之后,使用Hibernate连接调用oracle函数(返回ref游标)的Java应用程序停止工作。符号是从数据库返回一个关闭的resultset 我们还有使用ppl连接而不是hibernate的代码,它可以很好地使用resultset和ref游标

在Oracle 12.1.0.2上使用ojdbc7和hibernate 3.2.0返回的结果集已关闭 我们有一个遗留的java应用程序,必须从oracle 11g迁移到12.1.0.2 应用程序使用的是ojdbc14驱动程序,我们必须将其更改为ojdbc7,否则它无法连接到数据库 在我们更改了ojdbc驱动程序之后,使用Hibernate连接调用oracle函数(返回ref游标)的Java应用程序停止工作。符号是从数据库返回一个关闭的resultset 我们还有使用ppl连接而不是hibernate的代码,它可以很好地使用resultset和ref游标,java,oracle,hibernate,jdbc,Java,Oracle,Hibernate,Jdbc,我们迄今为止所做的尝试: 我们试图从数据库本身调用数据库函数,它返回一个完整的oracle游标,因此这不是数据库问题 我们尝试将hibernate.jdbc.fetch_size属性设置为大于查询返回值的数字,但这也不起作用 如果不添加异常消息或错误,就很难理解这个问题。IIRC,Hibernate的一些旧版本没有按照JDBC的要求正确处理结果集的生存时间(我相信他们预期结果集将被搁置提交,这不是默认情况),您可能需要更新甚至升级Hibernate,或者查找是否有控制此的设置。。

我们迄今为止所做的尝试:

  • 我们试图从数据库本身调用数据库函数,它返回一个完整的oracle游标,因此这不是数据库问题
  • 我们尝试将hibernate.jdbc.fetch_size属性设置为大于查询返回值的数字,但这也不起作用

  • 如果不添加异常消息或错误,就很难理解这个问题。IIRC,Hibernate的一些旧版本没有按照JDBC的要求正确处理结果集的生存时间(我相信他们预期结果集将被搁置提交,这不是默认情况),您可能需要更新甚至升级Hibernate,或者查找是否有控制此的设置。。