#1296 - where().exampleLike(bean) ... with 'empty bean' produces invalid SQL

This commit is contained in:
Rob Bygrave
2018-03-01 13:38:09 +13:00
parent 6f2e1c0248
commit 525afbc00f
2 changed files with 23 additions and 4 deletions
@@ -6,13 +6,13 @@ import io.ebean.bean.EntityBean;
import io.ebean.event.BeanQueryRequest;
import io.ebean.util.SplitName;
import io.ebeaninternal.api.ManyWhereJoins;
import io.ebeaninternal.api.NaturalKeyQueryData;
import io.ebeaninternal.api.SpiExpression;
import io.ebeaninternal.api.SpiExpressionRequest;
import io.ebeaninternal.api.SpiExpressionValidation;
import io.ebeaninternal.server.deploy.BeanDescriptor;
import io.ebeaninternal.server.deploy.BeanProperty;
import io.ebeaninternal.server.deploy.BeanPropertyAssocOne;
import io.ebeaninternal.api.NaturalKeyQueryData;
import java.io.IOException;
import java.util.ArrayList;
@@ -201,9 +201,10 @@ public class DefaultExampleExpression implements SpiExpression, ExampleExpressio
@Override
public void addSql(SpiExpressionRequest request) {
if (!list.isEmpty()) {
if (list.isEmpty()) {
request.append("1=1");
} else {
request.append("(");
for (int i = 0; i < list.size(); i++) {
SpiExpression item = list.get(i);
if (i > 0) {
@@ -211,7 +212,6 @@ public class DefaultExampleExpression implements SpiExpression, ExampleExpressio
}
item.addSql(request);
}
request.append(") ");
}
}