我只想清除实体管理器的peristence contexte,从数据库重新加载所有数据,特别是在该方法中:
public MyEntity find(Object id) {
EntityManager em = getEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
em.flush();
tx.commit();
em.clear();
return em.find(MyEntity .class, id);
}
但似乎flush()
无法正常工作,因为当我插入OtherEntity
并执行该方法时,我无法通过getCollection()
方法在持久化上下文中找到它(只有在重新启动我的应用程序后)..
答案 0 :(得分:0)
我找到了答案:
@Override
public MyEntity find(Object id) {
EntityManager em = getEntityManager();
MyEntity ps = em.find(MyEntity .class, id);
em.refresh(ps);
return ps;
}