Retornar valor desconhecido

3 respostas
Spotik

Bom dia,
Tenho uma tabela de "pedidos" e outra de "item_pedido", no momento que eu gravo um pedido estou setando o codigo dele como auto_increment. Logo, após e acabar de efetuar a gravação no banco e não sei qual o código desse pedido, e eu preciso dele para seta-lo na fk_codigo_pedido na tabela "item_pedido", e só depois então começar a atrelar itens.
Tem algum jeito mais facil de fazer isso?

//Só melhorando o exemplo do que eu quero fazer

TABELA Pedido:  
idPedido (pk)  
dataped

  
TABELA ItemPedido:  
idItemPedido (pk)  
idPedido (fk)  
idItem(fk)

Eu do um INSERT em pedido com os dados então terei o idPedido que é auto-increment... eu só não sei como buscar esse idPedido (que eu não sei qual numero foi gerado) para depois dar o insert no ItemPedido e setar o idPedido(fk) com o pk do Pedido

3 Respostas

J

Um jeito de fazer é no método que vc insere o pedido ja retornar esse id(com um select max(id) from tabela)…

rodrigocolasso

Bom dia Spotik,

se você esta utilizando o hibernate corretamente ele deve estar assim …

Pedido pedido =  new Pedido();
pedido.setSeila = "asdasdas";

PedidoDao  dao = new PedidoDao();

dao.salvar(pedido);

pedido.getId();

Entendeu quando você salvar ele vai trazer id preenchido.

A sugestão do Jonatas também funciona, mas como garantir que ao buscar o último id ele traga dessa inserção (pensando em um sistema com mais de um usuário) ?

Spotik

Vlw… usei o GetLastGeneratedId

Criado 18 de outubro de 2011
Ultima resposta 19 de out. de 2011
Respostas 3
Participantes 3