Pessoal,
Estou com a seguinte dúvida… Tenho duas tabelas no banco de dados (Pessoa / Endereco) onde uma pessoa pode ter 0 ou 1 endereco.
Minhas tabelas…
PESSOA ------------- ENDERECO
id_pessoa ---------- id_endereco
nome ------------- id_pessoa
telefone --------------rua
Meu código para gravar uma pessoa:
Pessoa p1 = new Pessoa();
p1.setNome("Joao");
p1.setEmail("[email removido]");
p1.setTelefone("xx.xxxx.xxxx");
sessao.save(p1);
transacao.commit();
sessao.close();
Agora eu quero salvar um endereco junto com a pessoa.
Pessoa p1 = new Pessoa();
p1.setNome("Joao");
p1.setEmail("[email removido]");
p1.setTelefone("xx.xxxx.xxxx");
Endereco e1 = new Endereco();
e1.setRua("Rua Amarela");
e1.setId_pessoa(????);
p1.setEndereco(e1);
sessao.save(p1);
transacao.commit();
sessao.close();
Minha dúvida está no ???. O que devo colocar como argumento no método setId_Pessoa? Esse valor tem que ser o valor da PK da minha pessoa, porem, esse valor é gerado automaticamente pelo banco depois do commit. Existe alguma forma de pegar esse valor do banco antes de gravar? Qual seria a melhor solução?
Valeu!


