Comment savoir efficacement l'identifiant généré automatiquement pour un nouvel objet lors de l'utilisation JPA?
-
30-09-2019 - |
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
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