diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanDescriptor.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanDescriptor.java index fe000ed93..1763ef9ba 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanDescriptor.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanDescriptor.java @@ -2316,7 +2316,7 @@ public class BeanDescriptor implements MetaBeanInfo, SpiBeanType { */ public void appendOrderById(SpiQuery query) { - if (idProperty != null) { + if (idProperty != null && !idProperty.isEmbedded()) { OrderBy orderBy = query.getOrderBy(); if (orderBy == null || orderBy.isEmpty()) { query.order().asc(idProperty.getName()); diff --git a/src/test/java/com/avaje/tests/compositekeys/TestCKeyLazyLoad.java b/src/test/java/com/avaje/tests/compositekeys/TestCKeyLazyLoad.java index 029ad050f..6f29be538 100644 --- a/src/test/java/com/avaje/tests/compositekeys/TestCKeyLazyLoad.java +++ b/src/test/java/com/avaje/tests/compositekeys/TestCKeyLazyLoad.java @@ -3,6 +3,7 @@ package com.avaje.tests.compositekeys; import java.util.ArrayList; import java.util.List; +import com.avaje.ebean.PagedList; import org.junit.Assert; import org.junit.Test; @@ -51,6 +52,8 @@ public class TestCKeyLazyLoad extends BaseTestCase { Ebean.save(p2); + exerciseMaxRowsQuery_with_embeddedId(); + CKeyParentId searchId = new CKeyParentId(1, "one"); CKeyParent found = Ebean.find(CKeyParent.class).where().idEq(searchId).findUnique(); @@ -79,4 +82,15 @@ public class TestCKeyLazyLoad extends BaseTestCase { Assert.assertTrue(idInTestList.size() == 2); } + + /** + * Exercise paging/maxRows type query with EmbeddedId. + */ + private void exerciseMaxRowsQuery_with_embeddedId() { + + PagedList siteUserPage = Ebean.find(CKeyParent.class).where() + .orderBy("name asc") + .findPagedList(0, 10); + siteUserPage.getList(); + } }