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

3.5.3

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

数据库字段设计 `@TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime;

@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;`

自动填充设置 `@Component public class AutoColumFillHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, "createTime", LocalDateTime::now, LocalDateTime.class); this.strictInsertFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class); }

@Override
public void updateFill(MetaObject metaObject) {
    this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class);
}

}业务代码try { studentScoreMapper.insert(studentScore); } catch (Exception e) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("stu_number", studentScore.getStuNumber()) .eq("exam_id", examId); studentScoreMapper.update(studentScore, updateWrapper); }` 说明: 本业务目的是如果不存在则插入,存在则报出异常,try catch捕获插入异常,并执行更新操作,但此时填充策略还是应用了insert的填充策略,并非update的填充策略

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

如上说明

报错信息

无报错信息

Comment From: miemieYaho

你怎么得出如上结论的?填充默认是有值不覆盖

Comment From: YuKanJiu

是我逻辑出错了,感谢回复