2012-03-07 1 views
2

Spring MVC + Hibernateを使用しています。Spring MVCのプロパティテーブル

私たちのデータベースにはルックアップテーブルがあります。とにかく私は値を自動的にbean/properties/mapにロードすることができますので、必要なときにデータベースにアクセスする必要はありません。

サーバの起動時にテーブルの内容をprop/bean/mapにロードする必要があります。

助けてください。

答えて

0

単に@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に組み込まれたキャッシュ層がそれを処理できるようにします。

+0

スタートアップリスナーを使用するような他のソリューションはありますか? –

+0

@ user1102835 '@ PostConstruct'以外の意味ですか? Springでは、 'init-method =" "'と 'InitializingBean'インターフェースもあります。 –

関連する問題