当前使用版本(必填,否则不予处理)

3.5.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

批量插入2000条数据

重现步骤(如果有就写完整)

插入2000条id为null的order数据,主键策略为AUTO

`order.setId(null); order.setCreateTime(new Date()); order.setProductId(product.getId()); order.setExtend("模拟数据");

            List<NewLoanOrder> orderList = new ArrayList<>();
            for (int i = 0; i < 2000; i++) {
                orderList.add(order);
            }
            orderService.saveBatch(orderList);`

这时候前1000条的sql语句是正确的,是不带id的insert MyBatis-Plus savebatch id重复 但是到后1000条时,就会带上idinsert,导致id重复, MyBatis-Plus savebatch id重复

这是因为2000条数据都是一样的么,我是模拟用的

报错信息

Comment From: miemieYaho

entity不能是同一个对象

Comment From: VampireAchao

此处默认1000批次提交,提交完成后,会将新增的id赋值到新增对象中,代码改成

 List<NewLoanOrder> orderList = new ArrayList<>();
            for (int i = 0; i < 2000; i++) {
                order.setId(null);
                orderList.add(order);
            }
            orderService.saveBatch(orderList);`

即可