6767import org .springframework .boot .flyway .autoconfigure .FlywayAutoConfiguration .PostgresqlFlywayConfigurationCustomizer ;
6868import org .springframework .boot .flyway .autoconfigure .FlywayAutoConfiguration .SqlServerFlywayConfigurationCustomizer ;
6969import org .springframework .boot .jdbc .DataSourceBuilder ;
70- import org .springframework .boot .jdbc .EmbeddedDatabaseConnection ;
7170import org .springframework .boot .jdbc .SchemaManagement ;
7271import org .springframework .boot .jdbc .autoconfigure .DataSourceProperties ;
7372import org .springframework .boot .jdbc .autoconfigure .EmbeddedDataSourceConfiguration ;
7473import org .springframework .boot .jdbc .autoconfigure .JdbcConnectionDetails ;
75- import org .springframework .boot .jpa .EntityManagerFactoryBuilder ;
7674import org .springframework .boot .test .context .FilteredClassLoader ;
7775import org .springframework .boot .test .context .assertj .AssertableApplicationContext ;
7876import org .springframework .boot .test .context .runner .ApplicationContextRunner ;
@@ -1065,10 +1063,11 @@ FlywayMigrationInitializer customFlywayMigrationInitializer(Flyway flyway) {
10651063
10661064 @ Bean
10671065 LocalContainerEntityManagerFactoryBean entityManagerFactoryBean (DataSource dataSource ) {
1068- return new EntityManagerFactoryBuilder (new HibernateJpaVendorAdapter (), (ds ) -> configureJpaProperties (),
1069- null )
1070- .dataSource (dataSource )
1071- .build ();
1066+ LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean ();
1067+ localContainerEntityManagerFactoryBean .setDataSource (dataSource );
1068+ localContainerEntityManagerFactoryBean .setJpaVendorAdapter (new HibernateJpaVendorAdapter ());
1069+ localContainerEntityManagerFactoryBean .setJpaPropertyMap (configureJpaProperties ());
1070+ return localContainerEntityManagerFactoryBean ;
10721071 }
10731072
10741073 }
@@ -1089,50 +1088,11 @@ Flyway customFlyway() {
10891088
10901089 @ Bean
10911090 LocalContainerEntityManagerFactoryBean entityManagerFactoryBean () {
1092- return new EntityManagerFactoryBuilder (new HibernateJpaVendorAdapter (),
1093- (datasource ) -> configureJpaProperties (), null )
1094- .dataSource (this .dataSource )
1095- .build ();
1096- }
1097-
1098- }
1099-
1100- @ Configuration (proxyBeanMethods = false )
1101- static class JpaWithMultipleDataSourcesConfiguration {
1102-
1103- @ Bean
1104- @ Primary
1105- DataSource normalDataSource () {
1106- return new EmbeddedDatabaseBuilder ().setType (EmbeddedDatabaseConnection .HSQLDB .getType ())
1107- .generateUniqueName (true )
1108- .build ();
1109- }
1110-
1111- @ Bean
1112- @ Primary
1113- LocalContainerEntityManagerFactoryBean normalEntityManagerFactory (EntityManagerFactoryBuilder builder ,
1114- DataSource normalDataSource ) {
1115- Map <String , Object > properties = new HashMap <>();
1116- properties .put ("configured" , "normal" );
1117- properties .put ("hibernate.transaction.jta.platform" , NoJtaPlatform .INSTANCE );
1118- return builder .dataSource (normalDataSource ).properties (properties ).build ();
1119- }
1120-
1121- @ Bean
1122- @ FlywayDataSource
1123- DataSource flywayDataSource () {
1124- return new EmbeddedDatabaseBuilder ().setType (EmbeddedDatabaseConnection .HSQLDB .getType ())
1125- .generateUniqueName (true )
1126- .build ();
1127- }
1128-
1129- @ Bean
1130- LocalContainerEntityManagerFactoryBean flywayEntityManagerFactory (EntityManagerFactoryBuilder builder ,
1131- @ FlywayDataSource DataSource flywayDataSource ) {
1132- Map <String , Object > properties = new HashMap <>();
1133- properties .put ("configured" , "flyway" );
1134- properties .put ("hibernate.transaction.jta.platform" , NoJtaPlatform .INSTANCE );
1135- return builder .dataSource (flywayDataSource ).properties (properties ).build ();
1091+ LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean ();
1092+ localContainerEntityManagerFactoryBean .setDataSource (this .dataSource );
1093+ localContainerEntityManagerFactoryBean .setJpaVendorAdapter (new HibernateJpaVendorAdapter ());
1094+ localContainerEntityManagerFactoryBean .setJpaPropertyMap (configureJpaProperties ());
1095+ return localContainerEntityManagerFactoryBean ;
11361096 }
11371097
11381098 }
0 commit comments