miemie 5 years ago
parent
commit
13359e4ef8

+ 2 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/AbstractLambdaWrapper.java

@@ -80,6 +80,7 @@ public abstract class AbstractLambdaWrapper<T, Children extends AbstractLambdaWr
         Class<?> aClass = lambda.getInstantiatedType();
         if (!initColumnMap) {
             columnMap = LambdaUtils.getColumnMap(aClass);
+            initColumnMap = true;
         }
         Assert.notNull(columnMap, "can not find lambda cache for this entity [%s]", aClass.getName());
         ColumnCache columnCache = columnMap.get(LambdaUtils.formatKey(fieldName));
@@ -93,8 +94,8 @@ public abstract class AbstractLambdaWrapper<T, Children extends AbstractLambdaWr
         super.initNeed();
         final Class<T> entityClass = getEntityClass();
         if (entityClass != null) {
-            initColumnMap = true;
             columnMap = LambdaUtils.getColumnMap(entityClass);
+            initColumnMap = true;
         }
     }
 }

+ 10 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/conditions/AbstractChainWrapper.java

@@ -58,6 +58,16 @@ public abstract class AbstractChainWrapper<T, R, Children extends AbstractChainW
         return (AbstractWrapper) wrapperChildren;
     }
 
+    public Children setEntity(T entity) {
+        getWrapper().setEntity(entity);
+        return typedThis;
+    }
+
+    public Children setEntityClass(Class<T> entityClass) {
+        getWrapper().setEntityClass(entityClass);
+        return typedThis;
+    }
+
     @Override
     public <V> Children allEq(boolean condition, Map<R, V> params, boolean null2IsNull) {
         getWrapper().allEq(condition, params, null2IsNull);