我用Java编写了使用EJB3 + Toplink的应用程序。我正在使用Glassfish作为我的应用程序。服务器
有时缓存的数据很旧,我需要手动清除缓存。我know我们可以腾出时间来清除它,但我想制作一个按钮,为我手动清除它。有可能吗?
答案 0 :(得分:2)
显然,您可以使用以下代码查询数据库来刷新缓存:
Query query = em.createQuery(sql.toString()).setHint("toplink.refresh", "true");
这适合我。
答案 1 :(得分:0)
我认为最好使用:
em.createNamedQuery("findAll").setHint(QueryHints.CACHE_RETRIEVE_MODE, CacheRetrieveMode.BYPASS).getResultList();
它适用于我,我认为这是更标准的方式。