diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java index 7af5d97ac..47fb077c6 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java @@ -444,7 +444,7 @@ public class OrmQueryDetail implements Serializable { * Return true if the query detail has neither select properties specified or any joins defined. */ public boolean isEmpty() { - return fetchPaths.isEmpty() && (!baseProps.hasProperties()); + return fetchPaths.isEmpty() && baseProps.allProperties(); } /** diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java index 6697ae3b4..00eaebc3c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java @@ -318,13 +318,8 @@ public class OrmQueryProperties implements Serializable { } /** - * Return true if this has properties. Returning false means this part of the - * path is a partial object. + * Return true if this includes all properties on the path. */ - public boolean hasProperties() { - return included != null; - } - public boolean allProperties() { return included == null; } diff --git a/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java b/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java index 9a3b4edea..0ca744e09 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java @@ -16,6 +16,29 @@ public class OrmQueryDetailTest extends BaseTestCase { return new OrmQueryDetailParser(query).parse(); } + @Test + public void isEmpty_when_empty() { + + OrmQueryDetail detail = new OrmQueryDetail(); + assertThat(detail.isEmpty()).isTrue(); + } + + @Test + public void isEmpty_when_hasFetch_expect_false() { + + OrmQueryDetail detail = new OrmQueryDetail(); + detail.fetch("customer", null, null); + assertThat(detail.isEmpty()).isFalse(); + } + + @Test + public void isEmpty_when_hasSelect_expect_false() { + + OrmQueryDetail detail = new OrmQueryDetail(); + detail.select("name"); + assertThat(detail.isEmpty()).isFalse(); + } + @Test public void isAutoTuneEqual_when_fetchOrderIsDifferent_then_stillEqual() {