Using Spring JDBC 6.0.13, the following unit test will fail:

    @Test
    void testSquareBrackets() {
        String sql = "insert into GeneratedAlways (id, first_name, last_name) values " +
                "(:records[0].id, :records[0].firstName, :records[0].lastName), " +
                "(:records[1].id, :records[1].firstName, :records[1].lastName)";

        ParsedSql parsedSql = NamedParameterUtils.parseSqlStatement(sql);
        assertThat(parsedSql.getParameterNames()).containsOnly(
                "records[0].id", "records[0].firstName", "records[0].lastName",
                "records[1].id", "records[1].firstName", "records[1].lastName");
    }

This was not an issue in Spring JDBC 5.3.30.

This appears to be related to #17773 and #27925