|
|
|
|
@ -113,6 +113,7 @@ import org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager
@@ -113,6 +113,7 @@ import org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager
|
|
|
|
|
import org.springframework.orm.jpa.persistenceunit.ManagedClassNameFilter; |
|
|
|
|
import org.springframework.orm.jpa.persistenceunit.PersistenceManagedTypes; |
|
|
|
|
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager; |
|
|
|
|
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor; |
|
|
|
|
import org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter; |
|
|
|
|
import org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor; |
|
|
|
|
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; |
|
|
|
|
@ -350,6 +351,19 @@ class HibernateJpaAutoConfigurationTests {
@@ -350,6 +351,19 @@ class HibernateJpaAutoConfigurationTests {
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void shouldProcessAllPersistenceUnitPostProcessorsDeclaredAsBeans() { |
|
|
|
|
this.contextRunner.withUserConfiguration(TestConfigurationWithMultipleCustomPersistenceUnitPostProcessors.class) |
|
|
|
|
.run((context) -> { |
|
|
|
|
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = context |
|
|
|
|
.getBean(LocalContainerEntityManagerFactoryBean.class); |
|
|
|
|
PersistenceUnitInfo persistenceUnitInfo = entityManagerFactoryBean.getPersistenceUnitInfo(); |
|
|
|
|
assertThat(persistenceUnitInfo).isNotNull(); |
|
|
|
|
assertThat(persistenceUnitInfo.getManagedClassNames()).contains( |
|
|
|
|
"customized.attribute.converter.class.name", "customized.attribute.converter.class.othername"); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void customManagedClassNameFilter() { |
|
|
|
|
this.contextRunner.withBean(ManagedClassNameFilter.class, () -> (s) -> !s.endsWith("City")) |
|
|
|
|
@ -1149,6 +1163,24 @@ class HibernateJpaAutoConfigurationTests {
@@ -1149,6 +1163,24 @@ class HibernateJpaAutoConfigurationTests {
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Configuration(proxyBeanMethods = false) |
|
|
|
|
@TestAutoConfigurationPackage(HibernateJpaAutoConfigurationTests.class) |
|
|
|
|
static class TestConfigurationWithMultipleCustomPersistenceUnitPostProcessors { |
|
|
|
|
|
|
|
|
|
@Bean |
|
|
|
|
EntityManagerFactoryBuilderCustomizer entityManagerFactoryBuilderCustomizer() { |
|
|
|
|
return (builder) -> builder.addPersistenceUnitPostProcessors( |
|
|
|
|
(pui) -> pui.addManagedClassName("customized.attribute.converter.class.name")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Bean |
|
|
|
|
EntityManagerFactoryBuilderCustomizer otherEntityManagerFactoryBuilderCustomizer() { |
|
|
|
|
return (builder) -> builder.addPersistenceUnitPostProcessors( |
|
|
|
|
(pui) -> pui.addManagedClassName("customized.attribute.converter.class.othername")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static class CustomJpaTransactionManager extends JpaTransactionManager { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|