Widzę więc, że MongoTemplate firmy Spring Data ma wiele różnych typów operacji "składowania obiektów", takich jak zapisywanie, aktualizowanie, wstawianie i aktualizowanie pierwszego.Dlaczego dane MongoRepository w Spring Data są tak ograniczone?
Z kolei interfejs MongoRepository w Spring Data ma jedną metodę trwałości: "zapisz". Teraz, oczywiście, jeśli chcę tworzyć/aktualizować/rozszerzać funkcjonalności, mogę je łatwo wdrożyć. Po prostu zrób, zanim zadzwonisz "zapisz" i sprawdź, czy jednostka istnieje, czy nie. Ale wydaje się dziwne, że MongoTemplate ma tak różnorodne opcje (nie mogę nawet stwierdzić, jaka jest różnica pomiędzy zachowaniem a upsertem), ale repozytorium Spring Data jest tak ograniczone.
Czy uważasz, że marnowanie/leniwy jest używanie Spring Data MongoRepositories bez dostosowywania jego metod, jeśli zamierzasz używać semantyki create/update, lub jest różnica między get + null check + repository.save vs. mongoTemplate.insert też nie ma znaczenia, żeby się tym przejmować?
Tak, już to zrobiłem. Ale to jest dużo kodu do napisania ze względu na aktualizację i metodę tworzenia, gdy głównym punktem repozytoriów Spring Data jest redukcja kodu standardowego IMO. – CorayThan