From a4b8c00ebae6b3f38654e1795493c5f448b73c89 Mon Sep 17 00:00:00 2001 From: matevip Date: Fri, 15 May 2026 15:21:23 +0800 Subject: [PATCH] fix(orm): make updateTime auto-fill unconditional so rows actually move on update --- .../src/main/java/vip/mate/config/MybatisPlusConfig.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mateclaw-server/src/main/java/vip/mate/config/MybatisPlusConfig.java b/mateclaw-server/src/main/java/vip/mate/config/MybatisPlusConfig.java index 6f120b53..37ab1e20 100644 --- a/mateclaw-server/src/main/java/vip/mate/config/MybatisPlusConfig.java +++ b/mateclaw-server/src/main/java/vip/mate/config/MybatisPlusConfig.java @@ -22,6 +22,12 @@ public class MybatisPlusConfig implements MetaObjectHandler { @Override public void updateFill(MetaObject metaObject) { - this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); + // Use setFieldValByName (unconditional) rather than strictUpdateFill, + // which is a no-op when the field already has a value. After a row + // is loaded from the DB its updateTime is non-null, so the strict + // variant left the column frozen at insert time forever — every + // mate_* table inherited this. Unconditional fill matches the + // documented "updateTime moves on every update" expectation. + this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject); } }