Spring MVC + Hibernate を使用しています。
データベースにルックアップ テーブルがあります。とにかく、必要なたびにデータベースにアクセスする必要がないように、Bean/プロパティ/マップに値を自動的にロードできるようにしたいと思います。
テーブルの内容は、サーバーの起動時に prop/bean/map にロードする必要があります。
助けてください。
Spring MVC + Hibernate を使用しています。
データベースにルックアップ テーブルがあります。とにかく、必要なたびにデータベースにアクセスする必要がないように、Bean/プロパティ/マップに値を自動的にロードできるようにしたいと思います。
テーブルの内容は、サーバーの起動時に prop/bean/map にロードする必要があります。
助けてください。
@PostConstructコールバックでデータをロードするだけです。
@Service
public class ReferenceData {
private Map cached//...
@PostConstruct
public void loadReferenceData() {
//load from database and store in `cached` field
}
}
注意してください。@PostConstructはトランザクションではなく、 で注釈が付けられていてもできません@Transactional。
もう 1 つのアプローチは、Hibernate L2 キャッシュとクエリ キャッシュを利用することです。必要なときにデータベースからデータをロードし、Hibernate に組み込まれたキャッシング レイヤーに処理させます。