mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
58 lines
1.7 KiB
Java
58 lines
1.7 KiB
Java
package com.avaje.tests.transaction;
|
|
|
|
import com.avaje.ebean.BaseTestCase;
|
|
import com.avaje.ebean.Ebean;
|
|
import com.avaje.ebeaninternal.api.SpiTransaction;
|
|
import com.avaje.tests.model.basic.EBasicVer;
|
|
import com.avaje.tests.model.basic.ResetBasicData;
|
|
import org.junit.Test;
|
|
|
|
import static junit.framework.TestCase.assertNull;
|
|
import static org.junit.Assert.assertNotSame;
|
|
import static org.junit.Assert.assertSame;
|
|
|
|
public class TestDeleteFromPersistenceContext extends BaseTestCase {
|
|
|
|
@Test
|
|
public void testDeleteBean() {
|
|
|
|
ResetBasicData.reset();
|
|
|
|
EBasicVer bean = new EBasicVer("Please Delete Me");
|
|
Ebean.save(bean);
|
|
|
|
SpiTransaction transaction = (SpiTransaction)Ebean.beginTransaction();
|
|
try {
|
|
|
|
EBasicVer bean2 = Ebean.find(EBasicVer.class, bean.getId());
|
|
assertNotSame(bean, bean2);
|
|
|
|
EBasicVer bean3 = Ebean.find(EBasicVer.class, bean.getId());
|
|
// same instance from PersistenceContext
|
|
assertSame(bean2, bean3);
|
|
|
|
Object bean4 = transaction.getPersistenceContext().get(EBasicVer.class, bean.getId());
|
|
assertSame(bean2, bean4);
|
|
|
|
Ebean.delete(bean2);
|
|
|
|
Object bean5 = transaction.getPersistenceContext().get(EBasicVer.class, bean.getId());
|
|
assertNull("Bean is deleted from PersistenceContext",bean5);
|
|
|
|
Ebean.commitTransaction();
|
|
|
|
} finally {
|
|
Ebean.endTransaction();
|
|
}
|
|
|
|
EBasicVer bean6 = Ebean.find(EBasicVer.class).where().eq("id", bean.getId()).findUnique();
|
|
assertNull("Bean where id eq is not found "+bean6, bean6);
|
|
|
|
awaitL2Cache();
|
|
EBasicVer bean7 = Ebean.find(EBasicVer.class, bean.getId());
|
|
assertNull("Bean is not expected to be found? "+bean7, bean7);
|
|
|
|
}
|
|
|
|
}
|