mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
54 lines
1.3 KiB
Java
54 lines
1.3 KiB
Java
package org.tests.basic;
|
|
|
|
import io.ebean.BaseTestCase;
|
|
import io.ebean.BeanState;
|
|
import io.ebean.Ebean;
|
|
import io.ebean.EbeanServer;
|
|
import org.tests.model.embedded.EMain;
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
public class TestDynamicUpdate extends BaseTestCase {
|
|
|
|
@Test
|
|
public void testUpdate() {
|
|
|
|
// insert
|
|
EMain b = new EMain();
|
|
b.setName("aaa");
|
|
b.getEmbeddable().setDescription("123");
|
|
|
|
EbeanServer server = Ebean.getServer(null);
|
|
|
|
server.save(b);
|
|
|
|
Assert.assertNotNull(b.getId());
|
|
|
|
// reload object und update the name
|
|
EMain b2 = server.find(EMain.class, b.getId());
|
|
|
|
b2.getEmbeddable().setDescription("ABC");
|
|
|
|
BeanState beanState = server.getBeanState(b2);
|
|
boolean dirty = beanState.isDirty();
|
|
Assert.assertTrue(dirty);
|
|
|
|
server.save(b2);
|
|
|
|
server.beginTransaction();
|
|
try {
|
|
EMain b3 = server.find(EMain.class, b.getId());
|
|
Assert.assertEquals("ABC", b3.getEmbeddable().getDescription());
|
|
} finally {
|
|
server.endTransaction();
|
|
}
|
|
EMain b4 = server.find(EMain.class, b.getId());
|
|
b4.setName("bbb");
|
|
b4.getEmbeddable().setDescription("123");
|
|
server.save(b4);
|
|
|
|
EMain b5 = server.find(EMain.class, b.getId());
|
|
Assert.assertEquals("123", b5.getEmbeddable().getDescription());
|
|
}
|
|
}
|