SQL 句子不适用于 mybatis 3.3.2

SQL sentence doesn't work with mybatis 3.3.2

我必须在很多表中复制寄存器,为此我创建了一个简单的 mybatis 配置,例如:

<insert id="copy" parameterType="hashmap" useGeneratedKeys="true" keyColumn="id">
  INSERT INTO ${table}
    <foreach item="key" collection="keys" index="index" open="(" separator="," close=")">
        ${key}
    </foreach>
    VALUES
    <foreach item="key" collection="map" index="index" open="(" separator="," close=")">
        ${key}
    </foreach>
</insert>  

所以方法是 select 一行,更改键和 Java 代码中的更多元素,然后插入它。但是,如果此跟踪失败:

org.springframework.dao.DuplicateKeyException: 
### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException:  Invalid argument(s) in call
### SQL: INSERT INTO XYZ      (           ... )
### Cause: java.sql.SQLIntegrityConstraintViolationException: Invalid argument
; SQL []; Argumento(s) no válido(s) en la llamada; nested exception is java.sql.SQLIntegrityConstraintViolationException:  Invalid argument(s) in call
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:241)

但是如果我从日志中复制 SQL 并在 SQLDeveloper 中执行它,它就可以工作,那是怎么回事?

通过使用 ojdbc6dms_g.jar oracle 驱动程序而不是常规的 ojdbc6.jar,我可以使用符号进行调试并注意到它正在搜索我用 [=10] 引入的 'id' 列=],我删除它并从

开始工作