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

修复指定superEntityClass重复生成父类字段问题.

https://gitee.com/baomidou/mybatis-plus/issues/I1EIBD
聂秋秋 5 éve
szülő
commit
e44161a9b1

+ 3 - 3
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/StrategyConfig.java

@@ -16,6 +16,7 @@
 package com.baomidou.mybatisplus.generator.config;
 
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
+import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.generator.config.po.LikeTable;
 import com.baomidou.mybatisplus.generator.config.po.TableFill;
@@ -264,10 +265,9 @@ public class StrategyConfig {
         this.fieldPrefix = fieldPrefixs;
         return this;
     }
-
+    
     public StrategyConfig setSuperEntityClass(String superEntityClass) {
-        this.superEntityClass = superEntityClass;
-        return this;
+        return setSuperEntityClass(ClassUtils.toClassConfident(superEntityClass));
     }
 
 

+ 5 - 5
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilder.java

@@ -667,11 +667,6 @@ public class ConfigBuilder {
                     if (commentSupported) {
                         field.setComment(results.getString(dbQuery.fieldComment()));
                     }
-                    if (strategyConfig.includeSuperEntityColumns(field.getName())) {
-                        // 跳过公共字段
-                        commonFieldList.add(field);
-                        continue;
-                    }
                     // 填充逻辑判断
                     List<TableFill> tableFillList = getStrategyConfig().getTableFillList();
                     if (null != tableFillList) {
@@ -679,6 +674,11 @@ public class ConfigBuilder {
                         tableFillList.stream().filter(tf -> tf.getFieldName().equalsIgnoreCase(field.getName()))
                             .findFirst().ifPresent(tf -> field.setFill(tf.getFieldFill().name()));
                     }
+                    if (strategyConfig.includeSuperEntityColumns(field.getName())) {
+                        // 跳过公共字段
+                        commonFieldList.add(field);
+                        continue;
+                    }
                     fieldList.add(field);
                 }
             }