From f66316138db7cc7845bbc4aa986dc90c0677170c Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Fri, 21 Dec 2018 13:53:05 +1300 Subject: [PATCH] #1584 - Fix for - Query cache bug, which produces wrong results --- .../server/deploy/BeanFkeyProperty.java | 5 ++--- .../java/org/tests/query/cache/TestDistinct.java | 14 +++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java b/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java index fe184c287..e651e7fc2 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java @@ -56,11 +56,10 @@ public final class BeanFkeyProperty implements ElPropertyValue { } } - public BeanFkeyProperty create(String expression, boolean containsMany) { + public BeanFkeyProperty create(String expression, boolean pathContainsMany) { int len = expression.length() - name.length() - 1; String prefix = expression.substring(0, len); - - return new BeanFkeyProperty(prefix, name, dbColumn, deployOrder, containsMany); + return new BeanFkeyProperty(prefix, name, dbColumn, deployOrder, containsMany || pathContainsMany); } /** diff --git a/src/test/java/org/tests/query/cache/TestDistinct.java b/src/test/java/org/tests/query/cache/TestDistinct.java index 164c70019..588a468d9 100644 --- a/src/test/java/org/tests/query/cache/TestDistinct.java +++ b/src/test/java/org/tests/query/cache/TestDistinct.java @@ -1,14 +1,14 @@ package org.tests.query.cache; -import static org.assertj.core.api.Assertions.assertThat; - -import java.util.List; -import java.util.UUID; - -import org.junit.Test; import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.ExpressionList; +import org.junit.Test; + +import java.util.List; +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; public class TestDistinct extends BaseTestCase { /** @@ -56,4 +56,4 @@ public class TestDistinct extends BaseTestCase { public ExpressionList costsQuery(final Long... aclId) { return Ebean.find(ContractCosts.class).where().in("position.contract.aclEntries.aclEntry.id", aclId); } -} \ No newline at end of file +}