Comment savoir efficacement l'identifiant généré automatiquement pour un nouvel objet lors de l'utilisation JPA?

StackOverflow https://stackoverflow.com/questions/2686863

Question

J'ai un attribut qui est annotées avec @Id. L'identifiant va être généré automatiquement lors de la persistance de l'objet. Cela signifie que la valeur d'identité n'est pas définie avant l'objet persiste. Après la persistance, il a une carte d'identité (dans la base de données), mais malheureusement, le champ reste nulle tant que je ne recharge pas de la DB. est-il un moyen facile de trouver l'identifiant généré? Ou mieux: Pour configurer que ce sera écrit dans le champ

Merci à l'avance

Était-ce utile?

La solution

L'identifiant est attribué, après la chasse d'eau. En supposant que l'entité Foo a un attribut id annotée avec les annotations standard @Id @GeneratedValue, les œuvres de code suivant:

Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top