EJB3+Toplinkを使用するJavaで記述されたアプリケーションがあります。アプリとしてGlassfishを使用しています。サーバ。
キャッシュされたデータが古く、手動でキャッシュをクリアする必要がある場合があります。クリアする時間を設定できることは知っていますが、手動でクリアするボタンを作りたいと思います。できますか?
どうやら、次のコードを使用してデータベースにクエリを実行してキャッシュを更新できます。
Query query = em.createQuery(sql.toString()).setHint("toplink.refresh", "true");
これは私にとってはうまくいきます。
使用する方が良いと思います:
em.createNamedQuery("findAll").setHint(QueryHints.CACHE_RETRIEVE_MODE, CacheRetrieveMode.BYPASS).getResultList();
それは私にとってはうまくいき、より標準的な方法だと思います。