saveAll()方法批量更新、新增的问题
Closed this issue · 1 comments
Axchgit commented
实践情况:需要设订单号为主键,且要根据订单号进行数据表的增量更新
-
当使用
saveAll()
方法添加数据时,数据中如果包含id
字段会默认为需要更新数据。这样会导致新增数据失败。 -
而如果把主键名改为其他的话,
saveAll()
方法又会默认此为新增数据,会导致更新数据失败。 -
初步判断
saveAll()
方法判断时更新还是新增数据时,根据的是数据中是否有id
字段。 -
在数据表增量更新实践中,建议新增数据用静态
updata()
方法,更新数据用saveAll()
;(仅对主键不为自增id的情况下)
结论:
saveAll()
方法只能更新主键名为id
的数据;saveAll()
方法新增主键名为id
的数据会失败;- 在数据表增量更新实践中,建议新增数据用静态
create()
方法,更新数据用saveAll()
;(仅对主键不为自增id的情况下);
对主键不能为自增的表数据操作极不友好
本人小白,期待大神能解决此问题,或者有替代方案;
Axchgit commented