Fala galera, estou utilizando o Toplink, estou elaborando um programa de inventário, e tenho 2 tabelas, onde preciso na primeira tabela gravar uma informação, depois pegar o id dessa informação cadastrada agora e usar para outra coisa, não to sabendo fazer
ex:
Cpu cpu = new Cpu();
cpu.setIsAlugado(true);
cpu.setIdentificacao("KM77674");
cpu.setLocalC("Sede Rio");
cpu.setAndar("8º");
cpu.setProcessador("Pentium I");
em.persist(cpu);
System.out.println(cpu.getId());
Ele dá como se a cpu.getId(); retorna-se null, me falaram que quando se faz o persist ele atualizaria no objeto o que não aconteceu, embora no banco tenha gravado certo, o Id é um número gerado automaticamente pelo banco, nas classes persistentes tenho lá o @GeneratedValue(strategy = GenerationType.IDENTITY), gera certo, já tentei dá um refresh, mas não funcionou, alguém tem a solução??
preciso desse Id para fazer outras tarefas, deve ter uma maneira de pegar automaticamente, uma coisa no persistence.xml, não sei… um comando para atualizar o objeto.
Segue abaixo a classe Cpu
Cpu
@Entity
@Table(name = "cpu")
public class Cpu implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "IDENTIFICACAO", nullable = false)
private String identificacao;
@Column(name = "PROCESSADOR", nullable = false)
private String processador;
@Column(name = "LOCAL_C", nullable = false)
private String localC;
@Column(name = "ANDAR", nullable = false)
private String andar;
@Column(name = "IS_ALUGADO", nullable = false)
private boolean isAlugado;