Spring JPA +在postgresql中的模式之间动态切换数据源

时间:2014-09-25 03:53:33

标签: java spring hibernate postgresql jpa

我必须按照以下方式修改现有应用程序的设计,

enter image description here

根据上述设计,每个项目都包含它自己的模式,映射表(project_schema_table)在主模式下。所有模式都在一个Postgresql数据库下,未来的用户将为他们的新项目创建另一个新的模式(按需)。

在显示登录窗口之前,我必须列出所有现有项目,一旦用户选择了他的项目,我必须使用相关模式指向该项目。除了主模式之外,所有其他项目基础模式都完全相同。

这是一个桌面应用程序,使用最新版本的Java技术JavaFX,Spring和JPA以及Postgresql数据库开发。目前它只有一个项目相关的模式,我必须介绍主模式和所有其他后续项目基础模式。

我找到了类似的stack overflow post,但它没有包含任何解决方案。我是否可以使用Spring AbstractRoutingDataSource完成此任务?还是有其他机制。感谢。

1 个答案:

答案 0 :(得分:0)

您正在寻找的功能称为多租户,而Hibernate从版本4.x开始支持此功能。有关如何使用此功能,请参阅此post