Search code examples
spring-jdbcjdbctemplate

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


I have 10 data to be inserted into database, but one of them will cause a not null constraint violation. Using JDBC batch update, I'm expecting all valid data processed even some error occurred when processing invalid data, so in the end I'm expecting 9 valid data inserted. The code written below,

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;
      }
   });

But somehow, only 1 data inserted successfully into database. What am I suppose to do so all 9 valid data successfully inserted into database, then errors thrown for each invalid data


Solution

  • This issue was solved by implementing Oracle DML Error Logging http://www.dba-oracle.com/t_oracle_dml_error_log.htm