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

标签 java spring hibernate postgresql jpa

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

enter image description here

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

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

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

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

最佳答案

您正在寻找的功能称为“ Multi-Tenancy ”,Hibernate 从 4.x 版开始支持此功能。请看这个post关于如何使用此功能。

关于java - Spring JPA + 在 postgresql 中的模式之间动态切换数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26030196/

相关文章:

java - 如何从 JPanel 中删除 RigidArea

Java 通过 Servlet 连接到远程 MySQL 数据库

java - Spring JPA 中的 @OneToOne 映射是什么?

java - 我如何使用 telegram lib 在 java 中验证并向我的电话号码发送消息?

java - MyBatis传递多个参数时,如何判断参数属性是否存在?

mysql - 一般意义上的 h2 与 hibernate 和 MySql 之间的区别

java - 使用 Java 将文本从一个文件反转并存储到另一个文件时减小大小

java - 加特林验证解码的 JWT token

java - 在 spring petclinic 中设置 hibernate.max_fetch_depth

java - org.hibernate.LazyInitializationException(Spring/Hibernate)