2017-01-11 17 views
0

例:データベーステーブルを扱うJava DAOを使用している場合、Daoとそのマネージャをjarファイルとしてリリースすると、このjarに依存するアプリケーションにアクセスできるこのjarの最新バージョンに限って、最新のjarは、データベーススキーマが変更されたときの下位互換性をどのように処理しますか?Java DAOで古いデータベーススキーマのバージョンをサポートする方法

Eample: Dao_1.jarがリリースされたときDao_2.jarがリリースされると...データベーススキーマが.....バージョンV1.0 にあったデータベーススキーマのバージョンはv1.1の

方法でありますDao_2.jarを使用するアプリケーションは、データベーススキーマバージョンV1.0と対話するか、対話できますか?

答えて

0

技術的には対応できません。たとえば、Dao_2エンティティに新しいフィールドを追加するだけです。データベーススキーマバージョンV1.0では、そのフィールドはありません。アプリケーションを実行した後、すべてのことが混乱することになります。データベーススキーマを更新するための休止状態(JPA)設定を可能にすることができます。アプリケーションを実行した後のこのシナリオでは、V1.0のデータベーススキーマがDao_2に基づいて現在のバージョンに変更されます。それは一種の危険です。正しいアプローチは、あなたは常にあなたをDAOからデータベーススキーマに進んでいくことです。アプリケーションドメインとは別にスキーマを編集しないでください。アプリケーションデータドメインに新しい変更を加えます。 ORMはすべてを処理し、データベーススキーマも更新します。

関連する問題