mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
initial add of EbeanORM server based on v2.8.1
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package com.avaje.tests.basic;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.tests.model.basic.Order;
|
||||
import com.avaje.tests.model.basic.OrderDetail;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
|
||||
public class TestManyLazyLoad extends TestCase {
|
||||
|
||||
|
||||
public void testLazyLoadRef() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<Order> list = Ebean.find(Order.class).order().asc("id").findList();
|
||||
Assert.assertTrue(list.size()+" > 0", list.size() > 0);
|
||||
|
||||
// just use the first one
|
||||
Order order = list.get(0);
|
||||
|
||||
// get it as a reference
|
||||
Order order1 = Ebean.getReference(Order.class, order.getId());
|
||||
Assert.assertNotNull(order1);
|
||||
|
||||
Date orderDate = order1.getOrderDate();
|
||||
Assert.assertNotNull(orderDate);
|
||||
|
||||
List<OrderDetail> details = order1.getDetails();
|
||||
|
||||
// lazy load the details
|
||||
int sz = details.size();
|
||||
Assert.assertTrue(sz+" > 0", sz > 0);
|
||||
|
||||
Order o = details.get(0).getOrder();
|
||||
Assert.assertTrue("same instance", o == order1);
|
||||
|
||||
|
||||
// change order... list before a scalar property
|
||||
Order order2 = Ebean.getReference(Order.class, order.getId());
|
||||
Assert.assertNotNull(order2);
|
||||
|
||||
List<OrderDetail> details2 = order2.getDetails();
|
||||
|
||||
// lazy load the details
|
||||
int sz2 = details2.size();
|
||||
Assert.assertTrue(sz2+" > 0", sz2 > 0);
|
||||
|
||||
Order o2 = details2.get(0).getOrder();
|
||||
Assert.assertTrue("same instance", o2 == order2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user