sql >> データベース >  >> RDS >> Oracle

1つのエンティティクラスを2つの異なるデータベース(OracleとIngres)にマッピングする

    この目的のために、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インスタンスを使用してデータベースで操作を実行できます。

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




    1. SQLドメインエラー:列が存在しません。デフォルトを設定しています

    2. Jsonから複数列のPostgreSQLにデータを取得する方法

    3. Railsは同時入力で一意性が失敗することを検証します

    4. 複数の結合でMySQLクエリを高速化するにはどうすればよいですか?