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
This issue was solved by implementing Oracle DML Error Logging http://www.dba-oracle.com/t_oracle_dml_error_log.htm