diff --git a/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaOrdersConfig.java b/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaOrdersConfig.java index 9a6fefc0..140c4dfc 100644 --- a/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaOrdersConfig.java +++ b/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaOrdersConfig.java @@ -17,8 +17,6 @@ import javax.sql.DataSource; import java.util.Map; @Configuration -// @EnableTransactionManagement -//@EnableConfigurationProperties(HibernateProperties.class) @EnableJpaRepositories( entityManagerFactoryRef = DBConstants.ENTITY_MANAGER_FACTORY_ORDERS, transactionManagerRef = DBConstants.TX_MANAGER_ORDERS, @@ -33,7 +31,7 @@ public class JpaOrdersConfig { */ @Bean(name = "ordersDataSource") @ConfigurationProperties(prefix = "spring.datasource.orders") - @Primary + @Primary // 需要特殊添加,否则初始化会有问题 public DataSource dataSource() { return DataSourceBuilder.create().build(); } @@ -42,8 +40,7 @@ public class JpaOrdersConfig { * 创建 LocalContainerEntityManagerFactoryBean */ @Bean(name = DBConstants.ENTITY_MANAGER_FACTORY_ORDERS) -// @Primary - public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary(EntityManagerFactoryBuilder builder) { + public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder) { return builder .dataSource(this.dataSource()) // 数据源 .properties(hibernateVendorProperties) // 获取并注入 Hibernate Vendor 相关配置 @@ -52,22 +49,12 @@ public class JpaOrdersConfig { .build(); } -// /** -// * 创建 EntityManager -// */ -// @Bean(name = "entityManagerPrimary") -// public EntityManager entityManager(EntityManagerFactoryBuilder builder) { -// return entityManagerFactoryPrimary(builder).getObject() // 获得 EntityManagerFactory 对象 -// .createEntityManager(); // 创建 EntityManager 对象 -// } - /** * 创建 PlatformTransactionManager */ @Bean(name = DBConstants.TX_MANAGER_ORDERS) -// @Primary public PlatformTransactionManager transactionManager(EntityManagerFactoryBuilder builder) { - return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject()); + return new JpaTransactionManager(entityManagerFactory(builder).getObject()); } } diff --git a/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaUsersConfig.java b/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaUsersConfig.java index c572db3f..e62dcdcd 100644 --- a/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaUsersConfig.java +++ b/lab-17/lab-17-dynamic-datasource-springdatajpa/src/main/java/cn/iocoder/springboot/lab17/dynamicdatasource/config/JpaUsersConfig.java @@ -12,13 +12,10 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.transaction.PlatformTransactionManager; import javax.annotation.Resource; -import javax.persistence.EntityManager; import javax.sql.DataSource; import java.util.Map; @Configuration -// @EnableTransactionManagement -//@EnableConfigurationProperties(HibernateProperties.class) @EnableJpaRepositories( entityManagerFactoryRef = DBConstants.ENTITY_MANAGER_FACTORY_USERS, transactionManagerRef = DBConstants.TX_MANAGER_USERS, @@ -41,7 +38,7 @@ public class JpaUsersConfig { * 创建 LocalContainerEntityManagerFactoryBean */ @Bean(name = DBConstants.ENTITY_MANAGER_FACTORY_USERS) - public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary(EntityManagerFactoryBuilder builder) { + public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder) { return builder .dataSource(this.dataSource()) // 数据源 .properties(hibernateVendorProperties) // 获取并注入 Hibernate Vendor 相关配置 @@ -50,21 +47,12 @@ public class JpaUsersConfig { .build(); } - /** - * 创建 EntityManager - */ - @Bean(name = "entityManagerSecondary") - public EntityManager entityManager(EntityManagerFactoryBuilder builder) { - return entityManagerFactoryPrimary(builder).getObject() // 获得 EntityManagerFactory 对象 - .createEntityManager(); // 创建 EntityManager 对象 - } - /** * 创建 PlatformTransactionManager */ @Bean(name = DBConstants.TX_MANAGER_USERS) public PlatformTransactionManager transactionManager(EntityManagerFactoryBuilder builder) { - return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject()); + return new JpaTransactionManager(entityManagerFactory(builder).getObject()); } }