ai pessoal eu sei q o hibernate faz isso,o q eu quero saber é o seguinte,tenho uma TABELA qualquer, com alguns campos, sendo q a pk é um int autoIncrement,quero saber c tem como na hr em q eu insiro um registro, pegar a pk sem ter q fzr uma nova consulta isso é possivel c for como é? vlw ai pessoal
Pegando pk!
5 Respostas
Na hora que voce der o commit o seu objeto persistido ganha a PK, por exemplo:
transaction.begin();
Usuario u = new Usuario();
u.setNome("Nome");
u.setIdade(333);
session.save(u);
session.flush();
transaction.commit();
u.getId(); // ID ja esta setado (PK)
nao estou usando hibernate,e nem session e claro nem transação,estou na “faca” mesmo hehehe,to inserino com o statement.executeQuery(sql), é depois disso q eu quero saber sem usar framework algum,so api nativa mesmo!!!
Atah, pareceu que voce estava usando hibernate, que sabia que ele faz isso mas não como!
Bom, por statement que eu saiba, não da pra fazer isso sem uma nova busca…
po me expressei mal entao foi mal, mas obrigado de qualquer forma pela ajuda vlw,se alguem souber de alguma forma posta ai vlw !!!
tem sim
voce tem q setar o preparedStatement com RETURN_GENERATED_KEYS e depois utilizar o método getGeneratedKeys();
nesse link tem um codigo que faz isso:
Criado 16 de novembro de 2007
Ultima resposta 16 de nov. de 2007
Respostas 5
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo