So merke ich, dass Spring Data's MongoTemplate viele verschiedene Arten von "Objekt speichern" -Operationen hat, wie Speichern, Upsert, Einfügen und UpdateFirst.Warum ist das MongoRepository von Spring Data so begrenzt?
Die MongoRepository-Schnittstelle von Spring Data verfügt dagegen über eine Persistenzmethode: "Speichern". Jetzt, wenn ich Funktionen erstellen/update/upsert möchte, kann ich sie natürlich ziemlich einfach implementieren. Machen Sie einfach einen Befehl, bevor Sie "Speichern" aufrufen und prüfen Sie, ob die Entität existiert oder nicht. Aber es scheint komisch, dass MongoTemplate eine solche Vielfalt an Optionen hat (ich kann nicht einmal herausfinden, was der Unterschied zwischen einem Speichern und einem Upsert ist), aber die Repos von Spring Data sind so begrenzt.
Denken Sie, es ist verschwenderisch/faul, Spring Data MongoRepositories zu verwenden, ohne seine Methoden anzupassen, wenn Sie die create/update-Semantik verwenden, oder ist der Unterschied zwischen einer get + null-Prüfung + repository.save vs. mongoTemplate.insert zu irrelevant zu kümmern?
Ja, das habe ich schon mal gemacht. Aber das ist eine Menge Standardcode zum Schreiben, um ein Update und eine Erstellungsmethode zu erhalten, wenn der Hauptzweck der Repositorys von Spring Data darin besteht, den Standardcode IMO zu reduzieren. – CorayThan