English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Der Unterschied zwischen Save und SaveAndFlush in Spring Java

Save und saveAndFlush können beide zur Speicherung von Entitäten verwendet werden. Sie gehören beide zu Spring Datenbank. Die Speicherung kann sofort oder nicht sofort Ihre Änderungen in die Datenbank schreiben. Wenn wir saveAndFlush aufrufen, wird das System Ihre Modellstatus mit der Datenbank synchronisieren.

NummerSchlüsselRettungSpeichern und Synchronisieren
1
Datenbank
Es gehört zu CrudRepository
Es gehört zu JPARepository
2
Datenaktualisierung Strategie
Es aktualisiert die Daten nicht direkt in der Datenbank, es sei denn, wir rufen explizit flush und commit Methoden auf.
Das Synchronisieren aktualisiert die Daten direkt in der Datenbank.
3
Batch-Speicherung
CrudRepository bietet Batch-Speichermethoden
Die saveAndFlush-Methode unterstützt keine Batch-Operationen
 4
Sichtbarkeit der gespeicherten Daten
Es aktualisiert die Daten nicht direkt in der Datenbank, daher, es sei denn, wir rufen explizitcommit()Diese Transaktion, andernfalls sind die Änderungen außerhalb der Transaktion nicht sichtbar.
Die Änderungen sind auch außerhalb der Transaktion sichtbar.
5
Use Case
Wenn wir in Zukunft keine gespeicherten Änderungen in derselben Transaktion verwenden müssen, können wir diesen Methoden verwenden.
Wenn später Änderungen, die in derselben Transaktion gespeichert werden müssen, verwendet werden müssen, kann diese Methode verwendet werden.