2016-05-21 7 views
0

myプロジェクトでspring + hibernateトランザクションマネージャを使用しています。最初に私はメインデータベースに接続し、企業内のいくつかのプロジェクトを検索しています。たとえば、プロジェクトごとに200のプロジェクトが関連付けられている場合、実行時にユーザーが選択したプロジェクトに関連付けられたデータベースに接続します。実行時にspring + hibernateを使用してデータベースに接続します

実行時にデータベースに接続する理想的な方法はありますか?

+0

この投稿を参照してくださいhttp://stackoverflow.com/questions/10756346/how-to-set-database-name-at-runtime-in-spring-hibernate – shankarsh15

+0

私は、私が[ここ](https://mdeinum.wordpress.com/2007/01/05/one-application-per-client-database/)。これはあなたにも適しています(実行時にはどのプロジェクトがあるかを知る必要もありません)。基本的には、選択に基づいて 'DataSource'を作成(または再利用)する' TargetRegistry'の独自の実装を作成することができます。アプリケーションの残りの部分は、単に単一のデータソースを使用することができます。 –

答えて

0

あり、長い時間を回避されている春の抽象化AbstractRoutingDataSourceだし、それはあなたの法案に合う

一般的な考え方は、ルーティングDataSourceが仲介 として作用することである - 「実際の」DataSourceができますがルックアップキーに基づいて実行時に動的に決定される。

postとそれより新しいtutorialがあります。詳しく知ることができます。

+0

ありがとう!!私は投稿を行ったが、データソースは春の設定ファイルであらかじめ定義されている。私は最初にデータベース名を知らず、その実行時間を得ることができるので、私は春の設定ファイルでデータソースを事前定義することはできません。データソースを動的に設定する方法はありますか? – Nagendra

関連する問題