1

エンタープライズ アプリケーションのモジュラー システム アーキテクチャに取り組んでいるときに、データベースの初期化でいくつかの問題に遭遇しました。基本エンティティと基本構成を提供するコア ライブラリがあります。このコアの上に、いくつかのモジュールが構築されます。これらはプラグイン可能で、独自のエンティティと構成を持つことができます。いくつかの特徴:

  • システム プロパティ、リソースバンドルなどの構成はすべてデータベースに保存されます。
  • JPA は、システム データベースを独立させるために使用されます。
  • システムは Java SE で動作します

すべてのモジュールは独自のテーブルを持ち込むことができますが、コア プロパティ テーブルまたはコア リソースバンドル テーブルへの入力が必要になる場合もあります。したがって、どういうわけか、データベースの DDL および DML 初期化を実行するメカニズムが必要です。いくつかのオプション:

  1. 簡単な SQL スクリプトを作成します。欠点は、データベースに依存しない必要があることであり、おそらくこれは開発者にとって最も使いやすいものではありません。DB diffツールでそれらを生成できない限り?
  2. Javaクラスを使用してJPQL経由で初期化しますか?
  3. 構成をファイルに保存しますか? これにより、構成 DML の多く (すべてではない) が回避されます。
  4. liquibase のようなツールを使用しますか?

この(または同様の)問題のベストプラクティスは何ですか?

4

2 に答える 2

0

データベースを使用してすべての構成データを保存することが最善の選択肢です。WebSphere Portal や Liferay などの多くの製品は、データベースを使用して、各ポートレットまたはテーマの構成データを格納します。SOA およびビジネス ルールの一部として使用されるものを含めることを忘れないでください。

したがって、SQL スクリプトの使用も最適な選択です。ただし、SQL の特定の機能が必要な場合は、データベース管理システムごとに同じスクリプトの複数のバージョンを作成する必要がある場合があります。

于 2013-08-08T21:02:22.137 に答える