Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 使用PreparedStatement进行列名为“的更新查询时出现问题”;“重新订购”;_Hibernate_Prepared Statement_Ojdbc - Fatal编程技术网

Hibernate 使用PreparedStatement进行列名为“的更新查询时出现问题”;“重新订购”;

Hibernate 使用PreparedStatement进行列名为“的更新查询时出现问题”;“重新订购”;,hibernate,prepared-statement,ojdbc,Hibernate,Prepared Statement,Ojdbc,我们一直在使用带有Hibernate3x的OJDBC14连接到部署在JBoss4x中的应用程序中的Oracle数据库。现在我们已经将应用服务器升级到JBoss 6x。因此,我们必须升级hibernate(4.2.18)和Ojdbc驱动程序(ojdb7)以与应用服务器兼容 我们现在面临一个问题(无效的列索引),在一个表上有一个名为“REORDER”的列,而Hibernate3x和OJDBC14可以正常工作 当查询中存在列重新排序时,PreparedStatement正在计算错误的参数计数(276)

我们一直在使用带有Hibernate3x的OJDBC14连接到部署在JBoss4x中的应用程序中的Oracle数据库。现在我们已经将应用服务器升级到JBoss 6x。因此,我们必须升级hibernate(4.2.18)和Ojdbc驱动程序(ojdb7)以与应用服务器兼容

我们现在面临一个问题(无效的列索引),在一个表上有一个名为“REORDER”的列,而Hibernate3x和OJDBC14可以正常工作

当查询中存在列重新排序时,PreparedStatement正在计算错误的参数计数(276),而不是实际的参数数(277),否则它工作正常

另外,带有列“REORDER”的insert语句工作正常

我们尝试搜索Oracle关键字以查看这是否是Oracle关键字,但它也没有列在Oracle保留关键字中

当我们将列“REORDER”命名为其他名称时,我们能够更新表


任何人都可以帮助我们理解这里出了什么问题。

一些特定版本的JDBC驱动程序似乎存在问题。我们可以通过将环境中使用的JDBC驱动程序降级到OJDBC6(11.2.0.3)来解决这个问题

参考: