diff --git a/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java b/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java index 596346460..51b055820 100644 --- a/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java +++ b/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java @@ -123,7 +123,7 @@ public class IdInExpression extends NonPrepareExpression { @Override public void queryPlanHash(StringBuilder builder) { builder.append("IdIn[?"); - if (!multiValueIdSupported) { + if (!multiValueIdSupported || idCollection.isEmpty()) { // query plan specific to the number of parameters in the IN clause builder.append(idCollection.size()); } diff --git a/src/main/java/io/ebeaninternal/server/expression/InExpression.java b/src/main/java/io/ebeaninternal/server/expression/InExpression.java index dd65489f0..7009a8b44 100644 --- a/src/main/java/io/ebeaninternal/server/expression/InExpression.java +++ b/src/main/java/io/ebeaninternal/server/expression/InExpression.java @@ -17,8 +17,6 @@ import java.util.List; class InExpression extends AbstractExpression { - - private final boolean not; /** @@ -169,7 +167,7 @@ class InExpression extends AbstractExpression { builder.append("empty"); } else { builder.append(" ?"); - if (!multiValueSupported) { + if (!multiValueSupported || bindValues.isEmpty()) { // query plan specific to the number of parameters in the IN clause builder.append(bindValues.size()); } diff --git a/src/main/java/io/ebeaninternal/server/expression/InPairsExpression.java b/src/main/java/io/ebeaninternal/server/expression/InPairsExpression.java index c4905b58b..96cc7c182 100644 --- a/src/main/java/io/ebeaninternal/server/expression/InPairsExpression.java +++ b/src/main/java/io/ebeaninternal/server/expression/InPairsExpression.java @@ -116,7 +116,7 @@ class InPairsExpression extends AbstractExpression { builder.append(property1).append("-"); builder.append(separator).append("-"); builder.append(suffix).append(" ?"); - if (!multiValueSupported) { + if (!multiValueSupported || entries.isEmpty()) { // query plan specific to the number of parameters in the IN clause builder.append(entries.size()); }