SpringDataMongoDB, repository.save(entity) 不返回自增主键的问题排查

项目里用到了mongodb,使用了springdata的repository做的,在自己测试的时候发现,repository的save方法,新增数据后没有返回数据库自增的主键,排查了较长时间。

后来发现是repository.save(entity) 这里的entity传入的id是个空字符串的原因

SpringDataMongoDB, repository.save(entity) 不返回自增主键的问题排查
深入跟踪到源码里,发现这里isNew的判断对非原型类的id只是判断了null,而我传入的事空字符串。所以会走更新的流程。
SpringDataMongoDB, repository.save(entity) 不返回自增主键的问题排查