Wie effizient die automatisch generierte ID für ein neues Objekt, um herauszufinden, wenn JPA verwenden?

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

Frage

Ich habe ein Attribut, das mit @Id bezeichnet ist. Die ID wird automatisch generiert werden, wenn das Objekt persistierenden. Das bedeutet, dass der ID-Wert nicht definiert ist, bevor ich das Objekt bestehen bleiben. Nachdem es persistierenden, sie hat eine ID (in der Datenbank), aber leider bleibt das Feld immer noch null, solange ich sie nachladen nicht aus der DB. Gibt es eine einfache Möglichkeit, die erzeugte ID, um herauszufinden? Oder besser: zu konfigurieren, dass sie in das Feld geschrieben werden

Vielen Dank im Voraus

War es hilfreich?

Lösung

Die ID wird nach dem Flush zugeordnet. Unter der Annahme der Foo Einheit hat ein id Attribut mit den Standard-@Id @GeneratedValue Anmerkungen kommentiert, der folgenden Code funktioniert:

Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top