2

Tomcat で実行されている struts-hibernate-mysql アプリケーションがあります。アプリケーションのコードベースは同じにしたいのですが、システムにログインするユーザーに基づいてアプリケーションを異なるデータベースに動的に接続したいと考えています。

基本的には、学校ごとに異なるデータベースを用意したいと考えています。各学校のデータベースは大きくなるため、各学校のデータベースを別々にすることにしましたが、Java コード ベースは同じにすることにしました。したがって、Web アプリケーションの複数のインスタンスを tomcat にデプロイすることは望ましくありませんが、ログインする人に応じて、単一のアプリケーションがさまざまなデータベースに接続できる必要があります。

これはどのように達成できますか?

4

1 に答える 1

0

より適切に設計されたドメイン モデルが最善のアプローチです。

それ以外の場合は、(もちろんプールを使用して) 複数のデータ ソースを作成し、複数の休止状態のセッション ファクトリ (または休止状態のバージョンに応じてエンティティ マネージャー) を作成します。

セッション ファクトリにマップされた学校のキーを持つマップを保持できます。コードを実行すると、学校の正しいファクトリが取得されます。

于 2012-09-20T08:50:43.987 に答える