1
resposta

"Column 'id' not found" na classe TestaInsercao

Para quem utiliza o MySQL ao invés do HSQLDB no curso online, a solução foi achada aqui: https://cursos.alura.com.br/forum/topico-exception-ao-tentar-buscar-o-id-criado-no-insert-25670

O instrutor Alberto Souza foi sábio em aconselhar o uso do método getMetaData() do objeto ResultSet.

Executando:

String nomeColuna = resultSet.getMetaData().getColumnName(1);
System.out.println("nomeColuna = "+ nomeColuna); //imprime “GENERATED_KEY”, não “id”

Logo, o exercício da classe TestaInsercao deve ser feito, para quem usa o MySQL, assim:

ResultSet resultSet = statement.getGeneratedKeys();
while(resultSet.next()){
    String id = resultSet.getString("GENERATED_KEY "); //valor do argumento modificado
    System.out.println("id = "+id);
}
1 resposta

Opa Danilo, obrigado pelo feedback :). Vou fechar o tópico para ele ficar marcado como solução :).