0

問題の説明

6 台の異なるマシンから 6 つのデータベースがあり、1 つのクラウド サーバーがあります。アプリケーションでどのデータベースを使用するかは、ユーザーログイン時に決定されます。

単一のデータベースに接続できます。しかし、データベースの動的な名前を処理する方法がわかりません。

アップデート:

データベースを動的に変更することはできますが、1 つの問題が発生しています。共通の 1 つのデータベース (クラウド サーバーに配置) にのみストアド プロシージャがいくつかあります (すべてのデータベースにストアド プロシージャを追加できないという制限があります)。そのため、他のデータベースのストアド プロシージャを呼び出すことはできません。どうすれば電話できますか?

アイデアを教えてください。

4

2 に答える 2

3

Spring には、AbstractRoutingDataSource要件に合わせて呼び出されるクラスがあります. ドキュメントを参照すると、この具体的なクラスを実装する方法についてのヘルプが見つかります. 既存のコードの一部を変更 (または追加) する必要があります.ダイナミックを設定しますData sourcespring source のこのブログでは、これを実際に説明しています。

于 2012-05-25T14:50:36.080 に答える
1

この Java Ranch フォーラム トピックでは、その方法について説明しています。実行時にユーザー名/パスワードを変更する方法を示していますが、接続文字列の一部などを変更するのと同じパターンになると思います。

http://www.coderanch.com/t/489984/ORM/java/modify-hibernate-cfg-xml-at

于 2012-05-25T14:51:04.667 に答える