mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
57 lines
1.3 KiB
Java
57 lines
1.3 KiB
Java
package org.tests.cache;
|
|
|
|
import io.ebean.BaseTestCase;
|
|
import io.ebean.Ebean;
|
|
import org.tests.model.basic.Customer;
|
|
import org.tests.model.basic.Order;
|
|
import org.junit.Test;
|
|
|
|
import static org.junit.Assert.assertSame;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
public class TestCacheInterceptSaveWhenLazyLoaded extends BaseTestCase {
|
|
|
|
@Test
|
|
public void test() {
|
|
|
|
Customer customer = new Customer();
|
|
customer.setName("daCustomer");
|
|
Ebean.save(customer);
|
|
|
|
Order order = new Order();
|
|
order.setStatus(Order.Status.NEW);
|
|
order.setCustomer(customer);
|
|
Ebean.save(order);
|
|
|
|
Ebean.beginTransaction();
|
|
try {
|
|
|
|
Order foundOrder = Ebean.find(Order.class)
|
|
.where().eq("id", order.getId())
|
|
.findUnique();
|
|
|
|
foundOrder.setStatus(Order.Status.APPROVED);
|
|
assertTrue(Ebean.getBeanState(foundOrder).isDirty());
|
|
|
|
Customer foundCustomer = Ebean.find(Customer.class)
|
|
.where().eq("id", customer.getId())
|
|
.findUnique();
|
|
|
|
// the foundOrder is in this list
|
|
foundCustomer.getOrders().size();
|
|
|
|
Order order1 = foundCustomer.getOrders().get(0);
|
|
|
|
assertSame(foundOrder, order1);
|
|
assertTrue(Ebean.getBeanState(foundOrder).isDirty());
|
|
|
|
Ebean.delete(order1);
|
|
Ebean.delete(customer);
|
|
|
|
} finally {
|
|
Ebean.endTransaction();
|
|
}
|
|
|
|
}
|
|
}
|