2017-10-28 5 views
0

ResteasyとHibernateを使ってJavaでRESTサービスを作成しています。このAPIは、既存のデータベーススキーマの古いバージョンと新しいバージョンの両方をサポートすることになっています。私は以下のように定義されたテーブル有するデータベースのバージョン1.0においてHibernate - テーブルの複数の定義を扱います

enter image description here

をテーブルの名前が変更されたバージョン2.0の2つの新しい列を追加し、列の一方の長さが増加しました。このテーブルには、今のようになります。

enter image description here

私は2つの別々のエンティティクラスを作成することを計画して接続しているデータベースに対応するエンティティクラスを使用するのバージョンに基づいています。

私は、このアプローチがOKかどうかを知りたいと思います。もしそうなら、このような状況にはよりよいアプローチがあります。

+0

なぜ2つのエンティティが必要ですか?バージョン2のテーブルと一致するようにバージョン1のエンティティを書き換えることができないのはなぜですか? –

+0

バージョン2のエンティティのフィールドのフィールドの長さが異なり、いくつかのフィールドがヌル可能ではないため、これを行うことはできません。これにより、バージョン1に対して実行されているクライアントで問題が発生します。 –

答えて

0

2つの独立したエンティティクラスが作成され、接続されたデータベースのバージョンに基づいて、対応するエンティティクラスが使用されます。

まだ解決策はありません。

関連する問題