Não sabe como retornar o valor de ID de coluna gerado usando Spring jdbcTemplate e PreparedStatementSetter

Antes da refatoração, eu estava inserindo uma linha no banco de dados usando jdbcTemplate, preparedStatementCreator e GeneratedKeyHolder para armazenar o ID gerado da linha inserida.

    jdbcTemplate.update(SomePreparedStatementCreator, generatedKeyHolder)  

No entanto, agora estou tentando executar uma atualização usando meu jdbcTemplate, mas agora com um preparedStatementSetter. O único método que eu posso ver por isso nos jdbcTemplate.update (String sql, PreparedStatementSetter), mas agora não sei como retornar o id da coluna gerada.

    PreparedStatementSetter pss = new PreparedStatementSetter() {
        @Override
        public void setValues(PreparedStatement preparedStatement)
                throws SQLException {
            preparedStatement.setString(1, pupil.getFirstname());
            preparedStatement.setString(2, pupil.getSurname());
            preparedStatement.setString(3, pupil.getGivenName());
            preparedStatement.setDate(4, pupil.getDob());
        }
    };      


    jdbcTemplate.update("INSERT INTO STUDENTS "+ "(FIRSTNAME, SURNAME, GIVEN_NAME, DOB) VALUES (?,?,?,?)",pss);

Assumindo que minha abordagem de preparedStatements esteja correta, alguém sabe como posso retornar o valor do id gerado?

questionAnswers(1)

yourAnswerToTheQuestion