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

Spring Java中Save与SaveAndFlush之间的区别

Save e saveAndFlush possono essere utilizzati per salvare l'entità. Entrambi appartengono al database Spring. Il salvataggio potrebbe o potrebbe non scrivere immediatamente le tue modifiche nel database. Quando chiamiamo saveAndFlush, il sistema forzerà la sincronizzazione dello stato del tuo modello con il database.

Numero di serieChiaveSalvataggioSalvataggio e aggiornamento
1
Rpository
Appartiene a CrudRepository
Appartiene a JPARepository
2
Strategia di aggiornamento dei dati
A meno che non chiamiamo esplicitamente i metodi flush e commit, non aggiorna direttamente i dati nel database.
Aggiorna direttamente i dati nel database.
3
Salvataggio in lotti
CrudRepository fornisce metodi di salvataggio in lotti
Il metodo saveAndFlush non supporta operazioni in lotti
 4
Visibilità dei dati dopo il salvataggio
Non aggiorna direttamente i dati nel database, quindi, a meno che non chiamiamo esplicitamentecommit()Questo affare, altrimenti le modifiche non saranno visibili al di fuori dell'affare.
Le modifiche saranno visibili anche al di fuori dell'affare.
5
Esempio di caso
Quando in futuro non è necessario utilizzare le modifiche salvate nello stesso affare, è possibile utilizzare questo metodo.
Quando in futuro è necessario utilizzare le modifiche salvate nello stesso affare, è possibile utilizzare questo metodo.