diff --git a/src/com/wentch/redkale/source/FilterBeanNode.java b/src/com/wentch/redkale/source/FilterBeanNode.java index 1ba7c3db2..04096ed02 100644 --- a/src/com/wentch/redkale/source/FilterBeanNode.java +++ b/src/com/wentch/redkale/source/FilterBeanNode.java @@ -238,7 +238,7 @@ final class FilterBeanNode extends FilterNode { @Override protected Predicate createFilterPredicate(final EntityInfo info, FilterBean bean) { - if (this.foreignEntity == null) return super.createFilterPredicate(info, bean); + if (this.joinSQL == null) return super.createFilterPredicate(info, bean); final Map foreign = new HashMap<>(); Predicate result = null; putForeignPredicate(foreign, bean); @@ -272,7 +272,7 @@ final class FilterBeanNode extends FilterNode { private void putForeignPredicate(final Map foreign, FilterBean bean) { final Serializable val = getValue(bean); Predicate filter = (val == null && express != ISNULL && express != ISNOTNULL) ? ((t) -> signand) : super.createFilterPredicate(this.columnAttribute, val); - if (filter == null) return; + if (filter == null || this.foreignEntity == null) return; Predicate p = foreign.get(this.foreignEntity); if (p == null) { foreign.put(foreignEntity, filter);