我已经浏览了有关如何hibernate.dialect正确设置属性的可用示例和教程,但发现没有适合我的情况的方法。
本教程最适合我,但它缺乏hibernate.dialect动态设置属性的能力,因为我有不同类型的数据库要连接:
由于方言不正确,我的 JPA(删除/更新)查询失败。
通过以下完美运行的 实现@Configuration,我如何能够hibernate.dialect在运行时为每个数据源动态设置?
先感谢您。
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
basePackages = "com.example.multidb",
entityManagerFactoryRef = "multiEntityManager",
transactionManagerRef = "multiTransactionManager"
)
public class PersistenceConfiguration {
private final String PACKAGE_SCAN = "com.example.multidb";
@Primary
@Bean(name = "mainDataSource")
@ConfigurationProperties("app.datasource.main")
public DataSource mainDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@Bean(name = "clientADataSource")
@ConfigurationProperties("app.datasource.clienta")
public DataSource clientADataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@Bean(name = "clientBDataSource")
@ConfigurationProperties("app.datasource.clientb")
public DataSource clientBDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@Bean(name = "multiRoutingDataSource") …Run Code Online (Sandbox Code Playgroud)