浏览代码

主键读取判断优化

jobob 8 年之前
父节点
当前提交
e16609432a
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      src/main/java/com/baomidou/mybatisplus/toolkit/TableInfoHelper.java

+ 10 - 4
src/main/java/com/baomidou/mybatisplus/toolkit/TableInfoHelper.java

@@ -152,18 +152,24 @@ public class TableInfoHelper {
         }
         List<TableFieldInfo> fieldList = new ArrayList<>();
         List<Field> list = getAllFields(clazz);
+        // 标记是否读取到主键 0、否  1、是
+        boolean idNotRead = true;
         boolean existTableId = existTableId(list);
         for (Field field : list) {
 
             /*
              * 主键ID 初始化
              */
-            if (existTableId) {
-                if (initTableId(globalConfig, tableInfo, field, clazz)) {
+            if (idNotRead) {
+                if (existTableId) {
+                    if (initTableId(globalConfig, tableInfo, field, clazz)) {
+                        idNotRead = false;
+                        continue;
+                    }
+                } else if (initFieldId(globalConfig, tableInfo, field, clazz)) {
+                    idNotRead = false;
                     continue;
                 }
-            } else if (initFieldId(globalConfig, tableInfo, field, clazz)) {
-                continue;
             }
 
             /*