Como obter o ID da última entidade persistente usando JPA
Estou procurando uma maneira inteligente e de fácil leitura de obter o ID de uma entidade persistente usandoJPA
. O ID é umInteger
.
@One poderia pensar nas seguintes soluções:
Sem utilizarGeneratedValue
estratégia. Isso requer procurar um ID gratuito antes de persistir e colocá-lo na entidade a ser persistida: complicado, mas funcionCom umGeneratedValue
estratégia. O provedor de persistência cuidará da geração do ID. Parece mais inteligente, mas como obter o ID?Veja abaixo a solução 2
MyEntity en = new MyEntity();
en.setName("My name");
em.persist(en);
System.out.println(en.getId());
Isso imprime um ID nulo!
Alguma sugestão? Estou usando o MySql, EclipseLink, mas preciso de uma solução portátil.