Hibernate 使用PreparedStatement进行列名为“的更新查询时出现问题”;“重新订购”;
我们一直在使用带有Hibernate3x的OJDBC14连接到部署在JBoss4x中的应用程序中的Oracle数据库。现在我们已经将应用服务器升级到JBoss 6x。因此,我们必须升级hibernate(4.2.18)和Ojdbc驱动程序(ojdb7)以与应用服务器兼容 我们现在面临一个问题(无效的列索引),在一个表上有一个名为“REORDER”的列,而Hibernate3x和OJDBC14可以正常工作 当查询中存在列重新排序时,PreparedStatement正在计算错误的参数计数(276),而不是实际的参数数(277),否则它工作正常 另外,带有列“REORDER”的insert语句工作正常 我们尝试搜索Oracle关键字以查看这是否是Oracle关键字,但它也没有列在Oracle保留关键字中 当我们将列“REORDER”命名为其他名称时,我们能够更新表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)
任何人都可以帮助我们理解这里出了什么问题。一些特定版本的JDBC驱动程序似乎存在问题。我们可以通过将环境中使用的JDBC驱动程序降级到OJDBC6(11.2.0.3)来解决这个问题 参考: