SpringBootJPA连接到postgres,其中在运行时提供数据库和模式

SpringBootJPA连接到postgres,其中在运行时提供数据库和模式,spring,postgresql,jpa,spring-boot,spring-data,Spring,Postgresql,Jpa,Spring Boot,Spring Data,我正在构建一个多租户应用程序,其中租户数据库配置存储在Redis中。根据请求,我将查询Redis以获取为该租户配置的数据库和模式,该应用程序构建在spring boot上 我查看了SpringBoot的JPA示例,并在google上做了更多的搜索以找到一个合适的解决方案,不幸的是,我找不到 这真的可以使用这里提供的JPA示例吗? 请给我建议其他解决这个问题的最好办法 感谢Spring Data JPA使用JPA注释来定义域模型。这些JPA实体定义了数据库的模式。显然,您不能在运行时更改这些实体

我正在构建一个多租户应用程序,其中租户数据库配置存储在Redis中。根据请求,我将查询Redis以获取为该租户配置的数据库和模式,该应用程序构建在spring boot上

我查看了SpringBoot的JPA示例,并在google上做了更多的搜索以找到一个合适的解决方案,不幸的是,我找不到

这真的可以使用这里提供的JPA示例吗?

请给我建议其他解决这个问题的最好办法


感谢Spring Data JPA使用JPA注释来定义域模型。这些JPA实体定义了数据库的模式。显然,您不能在运行时更改这些实体,也不能更改DB模式

因此,不可能使用SpringBoot+SpringDataJPA组合在运行时更新模式

数据库连接(例如数据库URL、用户名密码)可以更加灵活。您需要以编程方式创建数据源bean,并以某种方式以编程方式定义每个租户的每个查询使用哪个数据源。但这不是Spring或JPA生态系统的要求,因此您可能会面临很多问题

我以前在这样的系统上工作过,但我们通过JDBC使用普通SQL查询,并通过编程创建DB连接,以在运行时实现模式更改