Pessoal, eu tenho o seguinte código que está funcionando perfeitamente, ele salva na primeira, na segunda e na terceira tabela, aonde a primeira e a segunda está ligada na terceira, porém isso só funciona se eu cadastrar tudo de uma vez, mas se por exemplo a primeira tabela já tivesse os dados de que eu preciso, que argumentos eu iria passar para a terceira tabela pra saber que aquele dado pertence a ela?
import Entidades.ContasPag;
import Entidades.Fornecedor;
import Entidades.TipoDoc;
import Util.HibernateUtil;
import java.math.BigDecimal;
import java.util.Date;
import org.hibernate.Session;
public class Teste2 {
public static void main(String[] args) {
Session s = null;
try {
Primeira tabela
TipoDoc doc = new TipoDoc();
doc.setDescTipoDoc("Duplicata");
Segunda tabela
Fornecedor forn = new Fornecedor();
forn.setCidForn("Goiânia");
forn.setCnpjForn("00000000");
forn.setEnderecoForn("Rua 15");
forn.setDescForn("asdf");
forn.setTelForn1(null);
forn.setTelForn2(null);
forn.setUfForn("Goiás");
Terceira tabela
ContasPag cont = new ContasPag();
cont.setDataLanc(new Date(2012-03-12));
cont.setDataVenc(new Date(2012-04-03));
cont.setSitContp(new Boolean(false));
cont.setValorContp(new BigDecimal("25.36"));
cont.setFornecedor(forn);
cont.setTipoDoc(doc);
s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
s.save(doc);
s.save(forn);
s.save(cont);
s.getTransaction().commit();
System.out.println("Dados salvos com sucesso!");
} catch (Exception erro) {
System.out.println(erro);
s.getTransaction().rollback();
}
}
}