JPA: Kann ich die Kraft, die Objekte beibehalten werden, um die Datenbank in der Reihenfolge, in der Objekte, die geschickt wurden, um persist()?

Ich bin die Schaffung eines billing-Systems verwaltet ein Ledger für jeden Kunden. Jedes Sachkonto verfügt über eine Liste von LedgerEntry die Aufzeichnungen jeden Kunden Transaktion.

Als ich dieses zu testen, habe ich gemerkt, dass wenn ich ein paar LedgerEntry die innerhalb der gleichen Transaktion, die @Id-Wert war nicht in Ordnung, dass die Gegenstände gegeben, em.persist(), es sei denn, ich habe eine em.flush() nach jedem Eintrag wird erstellt.

Da verlasse ich mich auf die Reihenfolge der id für das richtige Verhalten der Finanzbuchhaltung (insbesondere der aktuelle Saldo ist der Letzte LedgerEntry in der Liste-erzwungen durch ein @OrderBy "id ASC"), das bedeutet, dass ich flush() ein paar mal.

Gibt es eine Möglichkeit zu vermeiden, die Spülung nach jeder Zeile angelegt? Das ist, um irgendeine Art der Bestellung, wie die Objekte persistent gespeichert werden, ohne mit einer @OrderColumn?

ist der "flush()" verursacht problem? wenn so Rollen Sie Ihre eigenen id generator, sollte trivial sein

InformationsquelleAutor Toybuilder | 2010-09-25

Schreibe einen Kommentar