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

La diferencia entre Save y SaveAndFlush en Spring Java

Save y saveAndFlush se pueden usar para guardar entidades. Ambos pertenecen a la base de datos de Spring. El guardado puede o no escribir sus cambios en la base de datos inmediatamente. Cuando llamamos a saveAndFlush, el sistema forzará la sincronización del estado de su modelo con la base de datos.

Número de serieClaveSalvarGuardar y refrescar
1
Biblioteca
Pertenece a CrudRepository
Pertenece a JPARepository
2
Estrategia de refresco de datos
A menos que llamemos explícitamente los métodos flush y commit, no refrescará directamente los datos en la base de datos.
El refresco directo refresca los datos directamente en la base de datos.
3
Guardado en lote
CrudRepository proporciona métodos para guardar en lote
El método saveAndFlush no admite operaciones en lote
 4
Visibilidad de los datos guardados
No refrescará directamente los datos en la base de datos, por lo tanto, a menos que llamemos explícitamentecommit()Esta transacción, de lo contrario los cambios no serían visibles fuera de la transacción.
Los cambios también serán visibles fuera de la transacción.
5
Caso de uso
Cuando ya no necesitemos usar los cambios guardados en la misma transacción, podemos utilizar este método.
Se puede usar este método cuando sea necesario usar los cambios guardados en la misma transacción.