Perdao novamente eu abri um post e nao expliquei corretamente o que eu quero.
Sim eu quero fazer o controle dos ids manualmente, porque se o ID estiver auto increment e estourar qualquer exceção na hora de salvar, é adicionado +1 independente da situação e isto é ruim (no meu ponto de vista), o ato de gerar chaves a todo momento, acredito nao ser elegante.
Entao eu quero fazer o controle de transação de forma manual para que seja incrementado o ID somente quando tudo estiver OK.
Ficou claro a minha duvida?
Estou usando MYSQL nesta tentativa, abaixo esta o procedimento que estou tentando usar.
try {
connection.setAutoCommit(false);
String sql = "insert into motorista (" + "mot_nome," + "idMotorista)" + "values (?,?);";
PreparedStatement statement = connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
statement.setString(1, motorista.getNome());
statement.setInt(2, motorista.getId());
statement.execute();
connection.commit();
connection.close();
} catch (Exception e) {
Mas ao fazer isto é gerado um NULLPOINTEREXCEPTION
No caso eu nao estou sabendo como eu faço pro programa pegar a proxima chave (id) e adicionar e setar ela.
Lembrando que a chave nao é auto incremento