如何根据实体在 JPA 中的数据源创建表

问题描述

假设我有两个数据源primarydb,secondarydb也有两个实体 实体 1 ,实体 2。所以当我添加 spring.jpa.hibernate.ddl-auto = update 。 这里 entity1 应该在 primarydb 中创建, entity2 应该在 secondarydb 中创建。 但这不会发生,它仅在主数据库中创建。

第二件事,如果我想在 entity1 和 entity2 上添加 onetomany,它也不起作用

@ManyToOne
private Entity2 entity2;

application.properties

#actuator
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

#server.servlet.context-path=/ajax

spring.datasource.url=jdbc:MysqL://@datasource.server@:3306/primarydb?useSSL=false
[email protected]@
[email protected]@
spring.datasource.tomcat.initial-size=30
spring.datasource.tomcat.max-wait=30000
spring.datasource.tomcat.maxActive=50
spring.datasource.tomcat.maxIdle=30
spring.datasource.tomcat.minIdle=30
spring.datasource.tomcat.minevictableIdleTimeMillis=300000
server.session.tracking-modes=cookie
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.show-sql=true


#another db
datasource.secondary.hikari.jdbcUrl=jdbc:MysqL://@datasource.server@/secondarydb:3306?useSSL=false
[email protected]@
[email protected]@
datasource.secondary.hikari.driverClassName=com.MysqL.cj.jdbc.Driver

datasource.secondary.hikari.type=com.zaxxer.hikari.HikariDataSource
datasource.secondary.hikari.minimum-idle=30
datasource.secondary.hikari.maximum-idle=30
datasource.secondary.hikari.idle-timeout=300000
datasource.secondary.hikari.max-lifetime=300000
datasource.secondary.hikari.pool-name=SecondaryPool
datasource.secondary.hikari.connection-timeout=30000
datasource.secondary.hikari.maximum-pool-size=70

配置文件

@Configuration
@Profile("dev")
public class ApplicationConfiguration {
    
    @Bean
    @ConfigurationProperties(prefix = "datasource.secondary.hikari")
    public HikariConfig hikariConfigForSecondaryDatasource() {
        return new HikariConfig();
    }

    @Bean(name = "secondaryDataSource")
    public DataSource dataSourceForSecondaryDatasource() {
        return new HikariDataSource(hikariConfigForSecondaryDatasource());
    }

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSourceForPrimaryDatasource() {
        return DataSourceBuilder.create().build();
    }

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)