2026-01-10 19:13:13

做云图库项目时遇到个问题:重新上传图片后,如果图片体积过小,按逻辑本该把缩略图字段清空(设为 null),但前端首页展示的还是旧图片的缩略图。我调试了前端接口,发现接口返回的响应数据里缩略图确实是 null,没问题,但数据库里存的依然是原来的缩略图值。
反复排查后才发现根源:saveOrUpdate 方法会自动忽略值为 null 的字段,导致生成的 update SQL 语句里根本没有 thumbnailUrl 这个字段,自然没法把数据库里的值改成 null。后来我给 thumbnailUrl 字段加上 @TableField (updateStrategy = FieldStrategy.ALWAYS) 注解,问题就解决了。现在回头看,感觉自己这排查过程还挺 “逆天” 的😂