Estoy tratando de aprender JPA de datos de primavera probando algunas operaciones CRUD a través de JpaRepository.
Encontré dos métodos savey saveAndFlush. No entiendo la diferencia entre estos dos. Al llamar savetambién mis cambios se guardan en la base de datos, ¿de qué sirve saveAndFlush?

Dependiendo del modo de descarga de hibernación que esté utilizando (
AUTOes el valor predeterminado),savepuede o no escribir sus cambios en la base de datos de inmediato. Cuando llamasaveAndFlush, está aplicando la sincronización del estado de su modelo con la base de datos.Si usa el modo de descarga AUTO y está usando su aplicación para guardar primero y luego seleccionar los datos nuevamente, no verá una diferencia en el comportamiento entre
save()ysaveAndFlush()porque la selección activa primero una descarga. Ver la documentación .fuente
saveuna entidad y nuevamente la misma, ¿quieres decir que consaveel segundo comando no arrojaré una excepción por duplicación, por ejemplo?saveson idempotentes. Vea este hilo para más detalles.