Spring JDBC 发生非空约束冲突错误时批量更新停止处理

Spring JDBC Batch Update Stop Processing When Not Null Constraint Violation Error Occurred

我有 10 个数据要插入到数据库中,但其中一个会导致违反非空约束。使用 JDBC 批量更新,我期望处理所有有效数据,即使在处理无效数据时发生一些错误,所以最后我期望插入 9 个有效数据。下面写的代码,

jdbcTemplate().batchUpdate(
   "INSERT INTO table_x (col_a) VALUES (?)",
   new BatchPreparedStatementSetter() {
      @Override
      public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
         preparedStatement.setString(1, "val_a");
      }

      @Override
      public int getBatchSize() {
         return 1;
      }
   });

但不知何故,只有 1 条数据成功插入数据库。我应该怎么做才能将所有 9 个有效数据成功插入数据库,然后为每个无效数据抛出错误

此问题已通过实施 Oracle DML 错误记录解决http://www.dba-oracle.com/t_oracle_dml_error_log.htm