diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java index 3bd83061..e3a1db55 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java @@ -306,13 +306,12 @@ public class TableInfo { * @return 字段列表 */ public String[] obtainInsertColumns(Object entity, boolean ignoreNulls) { - String[] defaultInsertColumns = ArrayUtil.concat(insertPrimaryKeys, columns); if (!ignoreNulls) { - return defaultInsertColumns; + return ArrayUtil.concat(insertPrimaryKeys, columns); } else { MetaObject metaObject = EntityMetaObject.forObject(entity, reflectorFactory); List retColumns = new ArrayList<>(); - for (String insertColumn : defaultInsertColumns) { + for (String insertColumn : columns) { if (onInsertColumns != null && onInsertColumns.containsKey(insertColumn)) { retColumns.add(insertColumn); } else { @@ -323,7 +322,7 @@ public class TableInfo { retColumns.add(insertColumn); } } - return retColumns.toArray(new String[0]); + return ArrayUtil.concat(insertPrimaryKeys, retColumns.toArray(new String[0])); } } diff --git a/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/Entity04TestStarter.java b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/Entity04TestStarter.java index ef00b253..feac1b6a 100644 --- a/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/Entity04TestStarter.java +++ b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/Entity04TestStarter.java @@ -58,6 +58,13 @@ public class Entity04TestStarter { mapper.update(entity04); + Entity04 entity05 = new Entity04(); +// entity05.setId("1"); + entity05.setAge(200); + + mapper.insertSelective(entity05); + + List entity04s = mapper.selectAll(); System.out.println(entity04s);