1

Oracleデータベースのnull許容でないフィールドがTimesTenデータベースに存在しないという問題があります。したがって、アプリケーションのGUI部分はOracleに書き込み、アプリケーションエンジンはTimesTenから読み取ります。問題は、一部のフィールドがOracleでnull許容できないため、マッピングファイルでそれらが必要になることです。ただし、TimesTenから対応するオブジェクトを読み取ると、列が存在しないというエラーが発生します。これらの列はアプリケーションエンジンで使用されておらず、パフォーマンス/メモリ使用量が重要であるため、TimesTenに追加することはできません。問題のこれらのプロパティをマッピングファイルで「遅延」にしようとしましたが、これは機能していないようです。Oracleでも、これらのnull許容でないフィールドにデフォルト値を指定することはできないため、これを解決するのは難しいようです。

Hibernateの観点から他にどのようなオプションがありますか?

ありがとう

4

1 に答える 1

1

私の知る限り、Hibernateは常に、マッピングファイルに記載されているすべての列がデータベースにも存在することを確認します。したがって、1つのマッピングファイルでそれを行うことはできません。

2つのマッピングファイルを使用します。また、2つのhibernate.cfg.xmlを使用します。1つはGUI部分用で、もう1つはアプリケーションエンジン用です。これら2つの構成ファイルの違いは、マッピングプロパティで異なるマッピングファイルを参照していることです。GUI部分とアプリケーションエンジンでconfigure()メソッドのパラメーターとしてこれらの構成ファイルの名前を指定すると、残りのJavaコードは2つのアプリケーションでまったく同じになる可能性があります。

1つのテーブルの2つの異なるマッピングファイル(OracleとTimesTenの場合)に同じxmlコードが多数含まれている必要があり、このxmlコードをファイルに2回含めたくない場合は、ファイルを含めるxmlメカニズムを使用できます(と[<!ENTITY namexxx SYSTEM "filename">]&namexxx

于 2012-04-26T13:36:11.117 に答える