我希望能够使用这个函数,他们传递参数。但我得到这个错误,这几乎是Spring的jpa或java准备语句不允许我这样做。
日志中的代码如下所示。
Hibernate: UPDATE DB2PROD.GLOBAL_TABLE
设置合同标识=数字(?),其中全局标识=?
@Query(value = "UPDATE DB2PROD.GLOBAL_TABLE \n" +
" SET CONTRACT_ID = DIGITS( :indicator ) \n" +
" WHERE GLOBAL_ID = :id ", nativeQuery = true)
int update(final Integer indicator, final String id);
和错误:
2022-03-11 15:54:25.982警告95241 --- [调度-1]操作系统引擎.jdbc.spi. SqlException帮助程序:SQL错误:-418,SQL状态:错误代码:95241 --- [调度-1]操作系统引擎.jdbc.spi. SqlException帮助程序:DB2 SQL错误:如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。SQL错误:-516,SQL状态:错误代码:95241 --- [调度-1]操作系统引擎。jdbc。spi。SqlException帮助程序:DB2 SQL错误:如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。SQL错误:-518,SQL状态:错误代码:07003 2022-03-11 15:54:25.983错误95241 --- [调度-1]操作引擎.jdbc.spi. SqlException帮助程序:DB2 SQL错误:如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。保存联系人时出错
1条答案
按热度按时间woobm2wo1#
Db2无法确定
DIGITS (?)
表达式中参数的数据类型。您必须使用
CAST
明确定义它,例如:DIGITS (CAST (? AS INT))
或
DIGITS (CAST (? AS DEC (5)))
等等。