Dies ist eher ein Verbesserungsvorschlag als eine Frage.Warum verwendet Spring Data weiterhin Nullreferenzen als Rückgabewerte?
Wir alle wissen über Tony Hoares "Milliarden Dollar Fehler" durch die Erfindung der Null-Referenz. Google-Ratschläge im Wiki der guava library zu avoid using null.
Ich schätze das Spring Data-Projekt und wir verwenden Spring Data MongoDB in vielen Projekten. Besteht die Möglichkeit, dass Sie alle möglichen Null-Referenz-Rückgabewerte durch eine Optional<T>
ersetzen? Ich denke, das wäre eine große Verbesserung bei der Verwendung der Spring Data Repositories Abstraktion.
Ich weiß, dass viele der Schnittstellen geändert werden müssten, aber die Codeänderungen sind fast trivial, nur wickeln Sie den Rückgabetyp in eine Optional.of(returnValue)
.
Sie können nicht findOne mit Optional haben, da diese Methode bereits mit dem Rückgabetyp Kunde ohne Optional vorhanden ist – krmanish007
findOne ohne Optional ist nur vorhanden in CrudRepository. Diese Antwort funktioniert, wenn Ihre Schnittstelle das Repository erweitert. –