2016-07-11 11 views
1

私は2つのデータベースサーバーを持っています。私たちは、次のクエリがあるとします。hibernateを使用してdifferenetデータベースの2つのtabalesを結合する

SELECT * 
FROM TABLE_ONE E1 
JOIN TABLE_TWO E2 ON E1.TWO = E2.ID 

TABLE_ONEは#2上のデータベースサーバ#1 TABLE_TWOです。 今私は、(非常に時間がかかる)クエリを変更せずに、ハイバネートが結果を取得する仕組みが必要です。 spring frameworkも関わっていることに注意してください。

+0

Hibernateは複数の "物理的な"データベースインスタンスにまたがる結合をサポートしていません –

+0

正直なところ私はちょっとグーグルではありません: – Khodabakhsh

+0

@PrakashHariSharmaそのような状況に対する解決策はありますか? – Khodabakhsh

答えて

0

Hibernateは、複数の物理データベースの結合をサポートしていません。おそらく同じデータベースの下にある2つのスキーマのためにそれを作ることができます。

1

oracle dblinkを使用して、そのテーブルのシノニムを作成するか、そのテーブルのビューを作成して、そのテーブルをhibernateで参照できるようにします。

+0

。ありがとう。 – Khodabakhsh

+0

db adminと相談した後、特定の懸念に基づいてdbリンクが許可されていないことを認識しました – Khodabakhsh

+0

今までこのクエリをどのように実行していましたか?任意のSQLツール(sqldeveloper、toad、...)内から実行できる場合は、ネイティブクエリとして実行できます。あなたが春のデータを使用している場合は、jpaカスタムリポジトリを作成し、そこから実行します。見てみてください[ここ](http://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-eight-adding-functionality-to-a-repository/)。 – bilak

0

データベースリンクを作成します.dbaがそれを許可しない場合、クライアント側に何らかの種類の接続を行わなければならず、おそらく遅くなります。あなたの上司に話してください。

関連する問題