そこで、Spring Data の MongoTemplate には、save、upsert、insert、updateFirst など、さまざまな種類の「オブジェクトの保存」操作があることに気付きました。
一方、Spring Data の MongoRepository インターフェースには、「save」という永続化メソッドが 1 つあります。さて、明らかに、作成/更新/アップサート機能が必要な場合は、それらを非常に簡単に実装できます。「保存」を呼び出す前に取得を実行し、エンティティが存在するかどうかを確認してください。しかし、MongoTemplate に非常に多様なオプションがあるのは奇妙に思えますが (保存とアップサートの違いが何であるかさえ理解できません)、Spring Data のリポジトリは非常に限られています。
create / updateセマンティクスを使用する場合、メソッドをカスタマイズせずにSpring Data MongoRepositoriesを使用するのは無駄/怠惰だと思いますか、それともget + nullチェック+ repository.saveとmongoTemplate.insertの違いですか?気にしなくていいの?