0

我有使用 EJB3 + Toplink 的 Java 编写的应用程序。我使用 Glassfish 作为我的应用程序。服务器。

有时缓存的数据很旧,我需要手动清除缓存。我知道我们可以设置时间来清除它,但我想制作一个按钮来为我手动清除它。有可能吗?

4

2 回答 2

2

显然,您可以使用以下代码查询数据库来刷新缓存:

Query query = em.createQuery(sql.toString()).setHint("toplink.refresh", "true");

这对我有用。

于 2009-12-04T21:12:39.137 回答
0

我认为最好使用:

em.createNamedQuery("findAll").setHint(QueryHints.CACHE_RETRIEVE_MODE, CacheRetrieveMode.BYPASS).getResultList();

它对我有用,我认为这是更标准的方式。

于 2016-08-23T14:31:21.003 回答