我在从数据库中删除一行时使用了下面的代码
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:列类型无效]并有根本原因
1条答案
按热度按时间5q4ezhmt1#
jdbctemplate不支持尝试使用透明的列表内绑定。
记录在11.7.3中。传入in子句的值列表
您必须准备好所需占位符数量的多种变体,或者在知道需要多少占位符之后,必须动态生成sql字符串。
因此,基本上您必须首先用适当数量的占位符展开sql语句,然后将每个元素作为单独的参数传递。