Existe uma maneira de recuperar o ID de incremento automático de uma declaração preparada

Existe uma maneira de recuperar a chave gerada automaticamente de uma consulta de banco de dados ao usar uma consulta java com instruções preparadas.

Por exemplo, eu sei que AutoGeneratedKeys pode funcionar da seguinte maneira.

stmt = conn.createStatement();

stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
if(returnLastInsertId) {
    ResultSet rs = stmt.getGeneratedKeys();
    rs.next();
    auto_id = rs.getInt(1);
} 

Contudo. E se eu quiser fazer uma inserção com uma declaração preparada.

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
stmt = conn.prepareStatement(sql);

//this is an error
stmt.executeUpdate(Statement.RETURN_GENERATED_KEYS);
if(returnLastInsertId) {
    //this is an error since the above is an error
    ResultSet rs = stmt.getGeneratedKeys();
    rs.next();
    auto_id = rs.getInt(1);
} 

Existe uma maneira de fazer isso que eu não sei. Parece do javadoc que PreparedStatements não pode retornar o Auto Generated ID.

questionAnswers(5)

yourAnswerToTheQuestion