oracle jdbctemplate列类型无效

zzlelutf  于 2021-07-16  发布在  Java
关注(0)|答案(1)|浏览(384)

我在从数据库中删除一行时使用了下面的代码

jdbcTemplateObject.update("DELETE FROM SUPERVISION_ROOM cl WHERE cl.fk_group IN ? and cl.fk_room IN ?", gourpIds, deleteExamDTO.getRoomIds());

但我有以下例外:
preparedstatementcallback;sql的未分类sqlexception[从监控\u房间删除cl.fk\u组在哪里?和cl.fk_房间在?];sql状态[99999];错误代码[17004];列类型无效;嵌套异常为java.sql.sqlexception:列类型无效]并有根本原因

5q4ezhmt

5q4ezhmt1#

jdbctemplate不支持尝试使用透明的列表内绑定。
记录在11.7.3中。传入in子句的值列表
您必须准备好所需占位符数量的多种变体,或者在知道需要多少占位符之后,必须动态生成sql字符串。
因此,基本上您必须首先用适当数量的占位符展开sql语句,然后将每个元素作为单独的参数传递。

...
WHERE cl.fk_group IN (?,?,?,?) and cl.fk_room IN (?,?)

相关问题