Просмотр исходного кода

fix(backend): 维度权重保存移除 CAST(? AS JSON) — MariaDB 不兼容

生产库实际为 MariaDB,CAST(? AS JSON) 是 MySQL 8+ 特有语法,触发
BadSqlGrammarException。直接赋值在两库均可用(MySQL 8 JSON 列接受
字符串时自动校验,MariaDB JSON 为 LONGTEXT 别名)。
Xiaogang Liao 3 месяцев назад
Родитель
Сommit
db17e212e9

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/DimensionWeightService.java

@@ -59,7 +59,7 @@ public class DimensionWeightService {
                     json.append(w.getWeight() != null ? w.getWeight() : 0);
                 }
                 json.append("}");
-                String sql = "UPDATE " + tableName + " SET dimension_weights = CAST(? AS JSON) WHERE id = ?";
+                String sql = "UPDATE " + tableName + " SET dimension_weights = ? WHERE id = ?";
                 jdbcTemplate.update(sql, json.toString(), targetId);
             } else {
                 // No weights = clear the JSON column