Google App Engine JPA Persist () -Methode besiedelt die ID meines Objekts nicht
-
15-10-2019 - |
Frage
Ich versuche, ein neues Java-Objekt zu bestehen, das eine automatisch generierte ID hat, aber es wird nicht besiedelt, wenn sie die persist () -Methode von EntityManager bezeichnet. Ich habe in meiner Objektklasse ..
...
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
...
Und ich beharrte es im Wesentlichen mit ...
emf = Persistence.createEntityManagerFactory("transactions-optional");
em = emf.createEntityManager();
em.persist(myObj);
Nach dem Durchhalten ist das ID -Feld nicht besiedelt. Ich habe versucht, em.flush () anzurufen, aber es beschwert sich, dass es sich in einer Transaktion befinden muss. Ich brauche oder möchte keine Transaktionen, aber ich brauche diese ID unmittelbar nach der Beherrschung des Objekts.
Ist dies ein Fehler in der Implementierung von JPA durch GAE?
Alle Vorschläge wären sehr geschätzt!
Lösung
Ich kann bestätigen, dass das Aufrufen von EM.Refresh (Objekt) die ID des persistierten Objekts bevölkert.