SpiEbeanServer server = (SpiEbeanServer)Ebean.getServer(null);
JsonContext jsonContext = Ebean.json();
Product product = Ebean.getReference(Product.class, 1);
BeanState beanState0 = Ebean.getBeanState(product);
if (!beanState0.isReference()) {
// got a cached value from beanCache
} else {
String jsonString = jsonContext.toJson(product);
System.out.println(jsonString);
Product refProd = jsonContext.toBean(Product.class, jsonString);
BeanDescriptor<Product> prodDesc = server.getBeanDescriptor(Product.class);
EntityBean eb = (EntityBean)refProd;
prodDesc.isReference(eb._ebean_getIntercept());
BeanState beanState = Ebean.getBeanState(refProd);
Assert.assertTrue(beanState.isNew());
String name = refProd.getName();
Assert.assertNull(name);
// Set to be 'loaded' to invoke lazy loading
beanState.setLoaded();
String name2 = refProd.getName();
Assert.assertNotNull(name2);
}
List<Order> orders = Ebean.find(Order.class)