feat: RelationManager.addIgnoreRelations() method support lambda; close #I7R68T

This commit is contained in:
开源海哥 2023-08-08 09:58:50 +08:00
parent 2d60efe747
commit 59a2f4f183

View File

@ -25,9 +25,7 @@ import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.datasource.DataSourceKey; import com.mybatisflex.core.datasource.DataSourceKey;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.row.Row; import com.mybatisflex.core.row.Row;
import com.mybatisflex.core.util.ClassUtil; import com.mybatisflex.core.util.*;
import com.mybatisflex.core.util.CollectionUtil;
import com.mybatisflex.core.util.StringUtil;
import org.apache.ibatis.util.MapUtil; import org.apache.ibatis.util.MapUtil;
import java.lang.reflect.Field; import java.lang.reflect.Field;
@ -121,6 +119,19 @@ public class RelationManager {
RelationManager.ignoreRelations.set(ignoreRelations); RelationManager.ignoreRelations.set(ignoreRelations);
} }
public static <T> void addIgnoreRelations(LambdaGetter<T>... ignoreRelations) {
Set<String> relations = RelationManager.ignoreRelations.get();
if (relations == null) {
relations = new HashSet<>();
setIgnoreRelations(relations);
}
for (LambdaGetter<T> lambdaGetter : ignoreRelations) {
String fieldName = LambdaUtil.getFieldName(lambdaGetter);
relations.add(fieldName);
}
}
public static void addIgnoreRelations(String... ignoreRelations) { public static void addIgnoreRelations(String... ignoreRelations) {
Set<String> relations = RelationManager.ignoreRelations.get(); Set<String> relations = RelationManager.ignoreRelations.get();
if (relations == null) { if (relations == null) {