Bei saveAndflush werden die Änderungen in diesem Befehl sofort in die Datenbank aktualisiert. Bei Save ist dies nicht unbedingt der Fall und kann nur im Speicher bleiben, bis ein Flush- oder Commit-Befehl ausgegeben wird.
Beachten Sie jedoch, dass selbst wenn Sie die Änderungen in einer Transaktion aktualisieren und nicht committen, die Änderungen für die externe Transaktion erst sichtbar sind, wenn sie in dieser Transaktion ausgeführt werden.
In deinem Fall benutzt du vielleicht eine Art Transaktionsmechanismus, der dir einen Commit-Befehl gibt, wenn alles in Ordnung ist.
Verwenden Sie die JPA saveAndFlush()-Methode
Implementieren, Erhöhen und Modifizieren
Hinweis: Die Steuerungsschicht muss Parameter filtern,
saveAndFlush Diese Methode bestimmt zunächst, ob die Persist-Methode oder die Merge-Methode basierend auf ID==null verwendet wird Es entscheidet, ob Einfügen oder Aktualisieren verwendet wird, je nachdem, ob die ID in der Datenbank erfasst ist
Wir betrachten den Unterschied, indem wir den Java-Quellcode dekompilieren
IDEA_ Verknüpfung, um die Implementierung der Schnittstelle zu finden
IDEA-Stil Strg + alt +B
Eclipse-Stil Strg +T
Speicheroberfläche:
Implementierungsmethode:
saveAndFlush-Schnittstelle:
Implementierungsmethode:
Wie Sie im Quellcode sehen können, indem Sie die saveAndFlush-Methode aufrufen,saveAndFlush ruft unsere Speichermethode und dann die Flush-Methode auf。
(Ende)
|