在我的Spring Java Config文件中,我成功使用AbstractRoutingDatasource来切换多个数据库连接。AbstractRoutingDatasource和hibernate.dialect具有多个数据源
public MyRoutingDataSource myRoutingDataSource() {
MyRoutingDataSource dataSource = new MyRoutingDataSource();
Map<Object, Object> targetDataSources = new HashMap<Object, Object>();
dataSource.setDefaultTargetDataSource(defaultDataSource());
dataSource.setTargetDataSources(targetDataSources);
return dataSource;
}
但是,当我想从数据源的PostgreSQL /甲骨文等。(如分页限制/ rowNums)不同,具体的SQL请求,我不得不相关的特定休眠方言。
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setGenerateDdl(false);
vendorAdapter.setShowSql(true);
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.PostgreSQL81Dialect");
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("fr.appli.model");
factory.setDataSource(myRoutingDataSource());
我的问题是如何改变我的EntityManager冬眠方言,当我从AbstractRoutingDatasource改变数据源?是否有可能以编程方式执行?
感谢
能否请您详细阐述这一点?你解决了这个问题吗?我很努力使这种方式与各种方言,但无法找到解决方案。 – Mejmo