package org.tests.query; import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.Query; import org.tests.model.basic.Customer; import org.tests.model.basic.Order; import org.tests.model.basic.ResetBasicData; import org.junit.Test; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.Assert.assertEquals; public class TestOneToManyCorrectGrouping extends BaseTestCase { public static final int EXPECTED_ITERATIONS = 2; @Test public void test() { ResetBasicData.reset(); Query<Customer> customerQuery = Ebean.find(Customer.class) .fetch("orders") .where().le("id", 2) .query(); final AtomicInteger count = new AtomicInteger(); customerQuery.findEach(customer -> { for (Order order : customer.getOrders()) { order.getId(); } count.incrementAndGet(); }); assertEquals(EXPECTED_ITERATIONS, count.get()); } }