package cn.gov.customs.data.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.Database; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.sql.DataSource; /** * transactionManagerRef 事务管理工厂引用名称,对应到@Bean注解对应的方法 * entityManagerFactoryRef 实体管理工厂引用名称,对应到@Bean注解对应的方法 */ @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef="entityManagerH2018app", transactionManagerRef="transactionManagerH2018app", basePackages= {"cn.gov.customs.data.repository.h2018app"}) //设置Repository所在位置 dao 文件的路径 public class H2018AppConfig { @Autowired @Qualifier("h2018appDataSource") private DataSource h2018appDataSource; @Bean PlatformTransactionManager transactionManagerH2018app() { return new JpaTransactionManager(entityManagerH2018app().getObject()); } @Bean public LocalContainerEntityManagerFactoryBean entityManagerH2018app() { HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setDatabase(Database.MYSQL); vendorAdapter.setShowSql(true); LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); factoryBean.setDataSource(h2018appDataSource); factoryBean.setJpaVendorAdapter(vendorAdapter); factoryBean.setPackagesToScan("cn.gov.customs.data.entity.h2018app*");//jpa对应的实体的位置 return factoryBean; } }