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 に組み込まれたキャッシング レイヤーに処理させます。