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

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

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

save源码会判断isNew
深入跟踪到源码里,发现这里isNew的判断对非原型类的id只是判断了null,而我传入的事空字符串。所以会走更新的流程。
判断是否是新的值,用于insert或者save

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章