强制重新加载EntityManager

时间:2012-06-15 09:26:57

标签: java orm weblogic jpa-2.0 entitymanager

我的问题是我的entityManager在缓存中有我的daabase。这是一个很严重的问题,因为我为许多用户准备了一个应用程序而且我无法显示实际数据。

public List<Tripulante> listxxx(String tip,
        String uni, String est, boolean val) {
    em.flush();
    Query q = em.createQuery("select");
    q.setParameter(dat1, uni);
    q.setParameter(dat2, est);
    q.setParameter(dat3, val);
    return q.getResultList();
}

我试着用em.clear来试试。

我非常迷茫,我不知道我在jandi中使用persistence.xml或weblogic

1 个答案:

答案 0 :(得分:2)

我解决了这个问题:

在persistence.xml中我把它:

<property name="eclipselink.query-results-cache" value="false"/>

在查询中,我不想在缓存中读取:

public List<Tripulante> listxxx(String tip,
    String uni, String est, boolean val) {
Query q = em.createQuery("select");
q.setHint("javax.persistence.cache.storeMode", "REFRESH");
q.setParameter(dat1, uni);
q.setParameter(dat2, est);
q.setParameter(dat3, val);
return q.getResultList();

}