配置详情
@Component
public class MysqlConfig {
@Bean
public LocalContainerEntityManagerFactoryBean exampleEntityManager(DataSource mysqlDataSource) {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setShowSql(true);
vendorAdapter.setDatabase(Database.MYSQL);
vendorAdapter.setGenerateDdl(false);
HibernateJpaDialect hibernateJpaDialect = new HibernateJpaDialect();
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("space.wxs.repo.jpa");
factory.setDataSource(mysqlDataSource);
factory.setJpaProperties(jpaProperties());
return factory;
}
private Properties jpaProperties() {
Properties properties = new Properties();
properties.put(PHYSICAL_NAMING_STRATEGY, "org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy");
return properties;
}
@Bean
public PlatformTransactionManager exampleTransactionManager(LocalContainerEntityManagerFactoryBean exampleEntityManager) {
JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(exampleEntityManager.getObject());
return txManager;
}
}
注解引入配置
@EnableJpaRepositories(entityManagerFactoryRef=“exampleEntityManager”, transactionManagerRef = “exampleTransactionManager”)