2012-09-20 45 views
1

我们有一个在tomcat上运行的struts-hibernate-mysql应用程序。我们希望为应用程序提供相同的代码库,但希望应用程序根据登录到系统的用户动态地连接到不同的数据库。通过单个struts-hibernate应用程序连接到多个数据库

基本上我们想为每个不同的学校有不同的数据库。每所学校的数据库都很大,因此我们决定为每所学校分别设立数据库,但Java代码库相同。因此,我们不希望在tomcat上部署多个Web应用程序实例,但单个应用程序应该能够根据登录人员连接到各种数据库。

这是如何实现的。

Kalpak

回答

0

更好的设计领域模型将是最好的方法。

否则,我会创建多个数据源(当然使用池),并有多个hibernate会话工厂(或实体管理器,根据您的休眠版本)。

您可以保留一张包含映射到其会话工厂的关键字的地图。当你执行你的代码时,请为学校提供正确的工厂。

+0

如果我们使用c3p0,上述方法是否仍然适用。 – Kalpak

+0

是的,它应该。 – ramsinb

+0

非常感谢。我会检查,然后回来查询,如果我有一个。再次感谢很多。 – Kalpak

相关问题