package org.tests.query; import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.FetchConfig; import org.tests.model.basic.Customer; import org.tests.model.basic.Order; import org.tests.model.basic.ResetBasicData; import org.junit.Test; import java.sql.Date; import java.util.List; public class TestQueryFilterManySimple extends BaseTestCase { @Test public void test() { ResetBasicData.reset(); // not really last week :) Date lastWeek = Date.valueOf("2010-01-01"); List<Customer> list = Ebean .find(Customer.class) // .join("orders", new JoinConfig().lazy()) // .join("orders", new JoinConfig().query()) .fetch("orders").fetch("contacts", new FetchConfig().query()).where().ilike("name", "rob%") .filterMany("orders").eq("status", Order.Status.NEW).gt("orderDate", lastWeek) .filterMany("contacts").isNotNull("firstName").findList(); // invoke lazy loading list.get(0).getOrders().size(); } }