Forráskód Böngészése

fix: 将所有 JSONB 字段改用 PostgreSqlJsonbTypeHandler

批量替换 graph-service 中所有实体的 JSONB 字段类型处理器:
- JacksonTypeHandler -> PostgreSqlJsonbTypeHandler
- 修复 PostgreSQL JSONB 类型兼容性问题
何文松 1 hónapja
szülő
commit
fa8914e6fd

+ 4 - 4
backend/graph-service/src/main/java/com/lingyue/graph/entity/DataSource.java

@@ -2,7 +2,7 @@ package com.lingyue.graph.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler;
 import com.lingyue.common.domain.entity.SimpleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -42,14 +42,14 @@ public class DataSource extends SimpleModel {
     private String sourceType;
     
     @Schema(description = "关联的节点ID数组")
-    @TableField(value = "node_ids", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "node_ids", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object nodeIds;
     
     @Schema(description = "数据源配置")
-    @TableField(value = "config", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "config", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object config;
     
     @Schema(description = "元数据")
-    @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object metadata;
 }

+ 4 - 4
backend/graph-service/src/main/java/com/lingyue/graph/entity/Graph.java

@@ -29,15 +29,15 @@ public class Graph extends SimpleModel {
     private String name;
     
     @Schema(description = "节点")
-    @TableField(value = "nodes", typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    @TableField(value = "nodes", typeHandler = com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler.class)
     private Object nodes; // GraphNode数组
     
     @Schema(description = "边")
-    @TableField(value = "edges", typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    @TableField(value = "edges", typeHandler = com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler.class)
     private Object edges; // GraphEdge数组
     
     @Schema(description = "计算结果")
-    @TableField(value = "calculation_result", typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    @TableField(value = "calculation_result", typeHandler = com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler.class)
     private Object calculationResult;
     
     @Schema(description = "计算状态")
@@ -45,6 +45,6 @@ public class Graph extends SimpleModel {
     private String calculationStatus; // pending/completed/failed
     
     @Schema(description = "元数据")
-    @TableField(value = "metadata", typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler.class)
     private Object metadata;
 }

+ 3 - 3
backend/graph-service/src/main/java/com/lingyue/graph/entity/GraphNode.java

@@ -2,7 +2,7 @@ package com.lingyue.graph.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler;
 import com.lingyue.common.domain.entity.SimpleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -42,7 +42,7 @@ public class GraphNode extends SimpleModel {
     private String value;
     
     @Schema(description = "位置信息", example = "{\"file_id\": \"xxx\", \"page\": 1, \"line\": 5}")
-    @TableField(value = "position", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "position", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object position;
     
     @Schema(description = "父节点ID")
@@ -54,6 +54,6 @@ public class GraphNode extends SimpleModel {
     private Integer level = 0;
     
     @Schema(description = "元数据")
-    @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object metadata;
 }

+ 3 - 3
backend/graph-service/src/main/java/com/lingyue/graph/entity/GraphRelation.java

@@ -2,7 +2,7 @@ package com.lingyue.graph.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler;
 import com.lingyue.common.domain.entity.SimpleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -38,7 +38,7 @@ public class GraphRelation extends SimpleModel {
     private String actionType;
     
     @Schema(description = "动作配置", example = "{\"model_id\": \"qwen-7b\", \"prompt\": \"...\"}")
-    @TableField(value = "action_config", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "action_config", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object actionConfig;
     
     @Schema(description = "顺序索引", example = "0")
@@ -50,6 +50,6 @@ public class GraphRelation extends SimpleModel {
     private String conditionExpr;
     
     @Schema(description = "元数据")
-    @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object metadata;
 }

+ 3 - 3
backend/graph-service/src/main/java/com/lingyue/graph/entity/Rule.java

@@ -2,7 +2,7 @@ package com.lingyue.graph.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler;
 import com.lingyue.common.domain.entity.SimpleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -42,7 +42,7 @@ public class Rule extends SimpleModel {
     private String exitNodeId;
     
     @Schema(description = "规则链", example = "[\"node1\", \"node2\", \"node3\"]")
-    @TableField(value = "rule_chain", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "rule_chain", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object ruleChain;
     
     @Schema(description = "状态", example = "active/inactive")
@@ -50,6 +50,6 @@ public class Rule extends SimpleModel {
     private String status = "active";
     
     @Schema(description = "元数据")
-    @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object metadata;
 }

+ 3 - 3
backend/graph-service/src/main/java/com/lingyue/graph/entity/Template.java

@@ -2,7 +2,7 @@ package com.lingyue.graph.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler;
 import com.lingyue.common.domain.entity.SimpleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -34,7 +34,7 @@ public class Template extends SimpleModel {
     private String content;
     
     @Schema(description = "占位符映射", example = "{\"{{ds1}}\": \"dataSourceId1\"}")
-    @TableField(value = "placeholder_mapping", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "placeholder_mapping", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object placeholderMapping;
     
     @Schema(description = "复制来源模板ID")
@@ -46,6 +46,6 @@ public class Template extends SimpleModel {
     private String status = "active";
     
     @Schema(description = "元数据")
-    @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Object metadata;
 }

+ 2 - 2
backend/graph-service/src/main/java/com/lingyue/graph/entity/TextChunk.java

@@ -2,8 +2,8 @@ package com.lingyue.graph.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.lingyue.common.domain.entity.SimpleModel;
+import com.lingyue.common.mybatis.PostgreSqlJsonbTypeHandler;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -44,6 +44,6 @@ public class TextChunk extends SimpleModel {
     private Integer tokenCount;
 
     @Schema(description = "元数据(页码、段落位置等)")
-    @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
+    @TableField(value = "metadata", typeHandler = PostgreSqlJsonbTypeHandler.class)
     private Map<String, Object> metadata;
 }