Đây là một đề xuất cải tiến hơn là một câu hỏi.Tại sao dữ liệu Spring vẫn sử dụng tham chiếu null làm giá trị trả về?
Chúng ta đều biết về "lỗi tỷ đô la" của Tony Hoare bằng cách phát minh ra tham chiếu null. Lời khuyên của Google trong wiki của guava library đến avoid using null.
Tôi thực sự đánh giá cao dự án Spring Data và chúng tôi sử dụng dữ liệu Spring MongoDB trong nhiều dự án. Có khả năng bạn sẽ thay thế tất cả các giá trị trả về tham chiếu null có thể bằng một số Optional<T>
? Tôi nghĩ rằng đây sẽ là một cải tiến lớn khi sử dụng kho dữ liệu Spring trừu tượng.
Tôi biết rằng rất nhiều giao diện sẽ phải được thay đổi, nhưng thay đổi mã gần như là tầm thường, chỉ cần bọc loại trả về trong một Optional.of(returnValue)
.
Bạn không thể có findOne với Tùy chọn vì phương thức này đã tồn tại với kiểu trả lại Khách hàng mà không cần Tùy chọn – krmanish007
findOne không có Tùy chọn chỉ hiển thị trong CrudRepository. Câu trả lời này hoạt động nếu giao diện của bạn mở rộng Kho lưu trữ. –