2017-03-31 9 views
0

私はWebフロントエンドを持つJava EE 7プロジェクトを持っています。私はいくつかのlazily-initialized初期選択肢をユーザに提示したいと思います。 EJBの@PostConstructメソッドは良い場所のようですが、it doesn't guarantee that a transaction is presentです。JPAデータベースを最初に使用可能な値で埋める場所は?

私は最も洗練されたソリューションを探しています。最終的には、このタスクのために予期されていた場所です。

@ApplicationScopedマネージドBeanのWebフロントエンドのメソッドはオプションですが、私はまだ初期化するために偽の呼び出しを行う必要があります - それは方法ですが、もっともエレガントではないかもしれません。

答えて

1

persistent.xmlファイルにjavax.persistence.sql-load-script-sourceプロパティを指定します。

データベースをプリロードするSQLスクリプトを指します。これは、アプリケーションに埋め込まれたリソースまたは外部ファイルのURLです。

+0

エンティティモデルの変更が発生した場合は、このスクリプトで余分な保守が必要になるでしょう。そして、私はJPAプロバイダがどのように異なるデータベースにデータを格納するのか把握しなければならないでしょう。プログラム的な解決策は唯一の選択肢です。 –

関連する問題