Ich versuche, Spring Data JPA zu lernen, indem ich eine CRUD-Operation über JpaRepository
teste.
Ich bin auf zwei Methoden gestoßen: save
und saveAndFlush
. Ich verstehe den Unterschied zwischen diesen beiden nicht. Wenn ich save
aufrufe, werden auch meine Änderungen in der Datenbank gespeichert. Wozu dient saveAndFlush
?.
Je nachdem, welchen Ruhezustand Sie verwenden (AUTO
ist die Standardeinstellung), schreibt save
Ihre Änderungen möglicherweise sofort in die Datenbank. Wenn Sie saveAndFlush
aufrufen, erzwingen Sie die Synchronisation Ihres Modellstatus mit der Datenbank.
Wenn Sie den Flush-Modus AUTO verwenden und Ihre Anwendung verwenden, um die Daten zuerst zu speichern und dann erneut auszuwählen, werden Sie keinen Unterschied zwischen save()
und saveAndFlush()
feststellen, da die Auswahl ausgelöst wird ein Flush zuerst. Siehe die Dokumentation .