1 回答

TA貢獻2021條經驗 獲得超8個贊
由于一級緩存的概念,您創建并保存的初始對象與您加載的對象是同一個實例。由于您沒有將創建的請求實體添加到內存模型中,而只是將其保存到數據庫中,因此內存模型中不存在關系。
為了獲得所需的結果,您需要清除保存和重新加載之間的持久性上下文。
@Test
public void createStreamWithSeveralStreamTargetsAndDeleteStream() {
List<StreamEntity> streamEntities = createStream(1);
List<RequestEntity> requestEntitySave = createRequest(1, streamEntityCheck);
assertEquals(1, requestEntitySave.size());
//you need to clear the persistence context here
//now a db query should execute.
//Inject the entitymanager to your test @PersistenceContext EntityManager em;
em.clear();
List<StreamEntity> streamEntities = streamDao.findAll();
assertEquals(1, streamEntities.size());
StreamEntity streamEntity2 = streamEntities.get(0);
streamEntity2.getRequestEntities(); - this collection shows 0
}
添加回答
舉報