Spring Jdbc模板的更新方法不返回更新的行数。

问题描述 投票:0回答:1

我在使用Spring Jdbc模板时遇到了这个奇怪的问题。

JDK版本- 11.0.3 ojdbc8版本- 12.2.0.1 Spring jdbc版本- 2.2.4.RELEASE DB- Oracle- 12c。

问题:当我在Jdbc模板上调用update()方法时,有时不能返回更新的行数,而是返回'0'。 当我在Jdbc模板上调用update()方法时,有时没有返回更新的行数,而是返回'0'。当我在内存中的db(如H2)上运行同样的代码时,它很顺利。我仔细检查了查询,它们看起来很好。

java oracle jdbc spring-jdbc
1个回答
0
投票

问题在于Oracle中对CHAR数据类型的处理。Oracle对这个数据类型做了正确的填充,而Jdbc查询的平等性检查失败的原因(在我使用这个字段的SQL查询'WHERE'子句)。在java端查询中使用RTRIM函数解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.