我注意到Spring Data的MongoTemplate有许多不同类型的“保存对象”操作,例如save、upsert、insert和updateFirst。
另一方面,Spring Data的MongoRepository接口只有一个持久化方法:“save”。显然,如果我想要创建/更新/插入功能,我可以很容易地实现它们。只需在调用“save”之前进行获取并检查实体是否存在即可。但是,MongoTemplate有这么多的选项似乎有些奇怪(我甚至无法弄清楚save和upsert之间的区别),但是Spring Data的repos却如此有限。
如果您将使用创建/更新语义,那么在不自定义其方法的情况下使用Spring Data MongoRepositories是否浪费/懒惰,或者get + null check + repository.save与mongoTemplate.insert之间的差异太微不足道而不值得关注?
另一方面,Spring Data的MongoRepository接口只有一个持久化方法:“save”。显然,如果我想要创建/更新/插入功能,我可以很容易地实现它们。只需在调用“save”之前进行获取并检查实体是否存在即可。但是,MongoTemplate有这么多的选项似乎有些奇怪(我甚至无法弄清楚save和upsert之间的区别),但是Spring Data的repos却如此有限。
如果您将使用创建/更新语义,那么在不自定义其方法的情况下使用Spring Data MongoRepositories是否浪费/懒惰,或者get + null check + repository.save与mongoTemplate.insert之间的差异太微不足道而不值得关注?