From 516a2ca51165c81d63443e0a02f38915a364cf5c Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 7 Jul 2026 15:07:42 +0200 Subject: [PATCH] Make batchArgs contents nullable in batchUpdate Updated batchUpdate method signatures to allow nullable Object arrays. See gh-37012 Signed-off-by: Chris --- .../java/org/springframework/jdbc/core/JdbcTemplate.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java index 6c91d5a2c02..33b94792ddc 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java @@ -1046,12 +1046,12 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations { } @Override - public int[] batchUpdate(String sql, List batchArgs) throws DataAccessException { + public int[] batchUpdate(String sql, List<@Nullable Object[]> batchArgs) throws DataAccessException { return batchUpdate(sql, batchArgs, new int[0]); } @Override - public int[] batchUpdate(String sql, List batchArgs, int[] argTypes) throws DataAccessException { + public int[] batchUpdate(String sql, List<@Nullable Object[]> batchArgs, int[] argTypes) throws DataAccessException { if (batchArgs.isEmpty()) { return new int[0]; } @@ -1061,9 +1061,9 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations { new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { - Object[] values = batchArgs.get(i); + @Nullable Object[] values = batchArgs.get(i); int colIndex = 0; - for (Object value : values) { + for (@Nullable Object value : values) { colIndex++; if (value instanceof SqlParameterValue paramValue) { StatementCreatorUtils.setParameterValue(ps, colIndex, paramValue, paramValue.getValue());