0

私はORMとJPAの初心者です。Ingres に Table1 というテーブルがあります。Table1 を Ingres から Oracle にコピーする必要があります。両方のデータベースへの接続に成功しました。Table1 という Entity クラスを 1 つだけ作成し、この操作を次のように行うことは可能ですか? Table1 のすべてのレコードを含む Ingres からリストを取得します。Oracle への永続リスト (完全でない場合は、コレクション要素ごとに個別)。

あなたの提案と助けをいただければ幸いです。

ありがとう、PK

4

1 に答える 1

2

この目的のために、persistence.xml ファイルで異なるデータベースを指す 2 つの永続性ユニットを構成します。

<persistence>
   <persistence-unit name="oracleDB">
      <jta-data-source>java:/OracleDB</jta-data-source>
       ...
   </persistence-unit>

   <persistence-unit name="ingresDB">
      <jta-data-source>java:/ingresDB</jta-data-source>
       ...
   </persistence-unit>
</persistence>

持続性コンテキストは、特定の持続性ユニットのコンテナーによってアノテーションを使用して注入されます。

   @PersistenceContext(unitName="oracleDB")
   private EntityManager oracleEntityManager;

   @PersistenceContext(unitName="ingresDB")
   private EntityManager ingresEntityManager;

次に、それぞれの entityManager インスタンスを使用して、データベースで操作を実行できます。

テーブル名/構造は両方のデータベースで同じでなければならず、移植性のためにベンダーが提供するネイティブ機能を使用しないでください。

于 2011-01-05T06:39:50.597 に答える