私が提起した以前の質問から続けています(以下のリンク)
Spring MVC - サーバーの起動時にデータベースから参照データを取得する
以前の投稿でアドバイスを受けた後、参照データをロードするために使用できると思うアプローチは、ArticleController (私のコントローラー クラス) に以下のメソッドを追加することです。
@ModelAttribute
public void populateModel(@RequestParam String number, Model model) {
model.addAttribute("countryList", articleService.getCountryList());
model.addAttribute("skillsList", articleService.getSkillsList());
}
次に、以下のように休止状態の二次キャッシュを使用します。
@Entity
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class Country {
...
}
スキルクラスも同様
3つの質問があります
- populateModel メソッド (@ModelAttribute) は 1 回だけ実行されますか? つまり、ArticleController クラスで最初の @RequestMapping メソッドを実行する前に (複数のセッションのすべてのリクエストについて - ログ トレースで、サーバーの起動時に ArticleController が初期化されるのを見ました)?
- 2 番目のレベルのキャッシュを実現するために、私が言及した以上のことを行う必要がありますか? (コントリ リストとスキル リストは、2 つの別々のテーブルの純粋な読み取り専用データです)
- 私が見逃したインプポイントとあなたはアドバイスすることができます.