2016-09-12 4 views
0

"code"と "Description"を格納するテーブルがDB(Oracle)にあります。私はアプリケーションの起動時にこのテーブルのデータをロードし、変数(おそらくMapオブジェクト)に格納する必要があります。これにより、リクエストごとにDBを叩くことなく、各リクエストのコードの説明を調べることができます。これを行う最善の方法は何でしょうか?アプリケーション起動時にデータベースからデータをロード

アプリケーションはSpringフレームワークに基づくスタンドアロンJavaアプリケーションです。

ありがとうございました。

+0

同じように追加します。どの部分があなたを困らせているのですか? ---遅延読み込み、つまり最初に説明が必要になるまでデータベースをクエリしないようにすることもできます。 – Andreas

+0

さて、答えは少し複雑かもしれません。あなたはこれを "JDBC"と "Hibernate"という2つの方法で扱うことができます。 "Prepared statement JDBC"を見てください。おそらく最も簡単な方法です。準備されたステートメントからマップオブジェクトを取り込むことができます。 – RudiDudi

+0

はい。これらのデータを取得するようにDBに問い合わせます。私は、これを行うためにSpringの設定側についてもっと調べていました。 Beanを宣言し、DBにクエリを実行してデータをロードするinitメソッドを定義する必要がありますか?またはこれを行うための他の良い方法はありますか?ありがとう。 – Kishore

答えて

0

をあなたはアプリケーションの起動方法を選ぶクラスを作成することができます。 春にApplicationReadyEventイベントでApplicationListenerインターフェイスを実装できます。

この時点で、アプリケーションはデータベース と通信できる状態になり、自動的にコードが実行されます。任意のclearificationについては

@Component 
    public class AppBootstrapListener implements  ApplicationListener<ApplicationReadyEvent> { 
// Inject Service or repository if you have. 

/** 
* Executes on application ready event 
* Check's if data exists & calls to create or read data 
*/ 
@Override 
public void onApplicationEvent(ApplicationReadyEvent event) { 
    // code here 
} 
} 

データベースに他のすべてのクエリを実行するコメント

関連する問題