Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa Save và SaveAndFlush trong Spring Java

Save và saveAndFlush đều có thể được sử dụng để lưu các thực thể. Cả hai đều thuộc thư viện dữ liệu Spring. save có thể hoặc không thể ghi các thay đổi của bạn vào DB ngay lập tức. Khi chúng tôi gọi saveAndFlush, hệ thống đang thực thi đồng bộ hóa trạng thái mô hình của bạn với DB.

Phương thức
Sr. Không. Phím Lưu SaveAndFlush
1
Kho lưu trữ
Nó thuộc về CrudRepository
Nó thuộc về JPARepository
2
Chiến lược xóa dữ liệu
Nó không gửi dữ liệu trực tiếp vào cơ sở dữ liệu cho đến khi và trừ khi chúng ta gọi phương thức flush và commit một cách rõ ràng.
Nó tuôn ra trực tiếp dữ liệu vào cơ sở dữ liệu.
3
Lưu hàng loạt
CrudRepository cung cấp phương pháp lưu hàng loạt
saveAndFlush không hỗ trợ hoạt động hàng loạt
4
Mức độ hiển thị Dữ liệu sau khi lưu
Nó không chuyển dữ liệu trực tiếp vào cơ sở dữ liệu, do đó, các thay đổi sẽ không hiển thị bên ngoài giao dịch trừ khi chúng ta gọi commit () một cách rõ ràng trong giao dịch này.
Các thay đổi cũng sẽ hiển thị bên ngoài giao dịch.
5
Trường hợp Sử dụng
Chúng tôi sử dụng phương pháp này khi chúng tôi không cần sử dụng các thay đổi đã lưu vào thời điểm sau đó trong cùng một giao dịch.
Chúng tôi sử dụng phương pháp này khi cần sử dụng các thay đổi đã lưu ở thời điểm sau trong cùng một giao dịch.