Skip to content

Commit 0a533b5

Browse files
committed
feat: make PersistenceUnitPostProcessor beans use on EntityManagerFactoryBuilder
Signed-off-by: Lansana DIOMANDE <[email protected]>
1 parent 8985af2 commit 0a533b5

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

module/spring-boot-hibernate/src/test/java/org/springframework/boot/hibernate/autoconfigure/HibernateJpaAutoConfigurationTests.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
import org.springframework.orm.jpa.persistenceunit.ManagedClassNameFilter;
114114
import org.springframework.orm.jpa.persistenceunit.PersistenceManagedTypes;
115115
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
116+
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor;
116117
import org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter;
117118
import org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor;
118119
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
@@ -338,7 +339,7 @@ void customPersistenceUnitManager() {
338339
}
339340

340341
@Test
341-
void customPersistenceUnitPostProcessors() {
342+
void customPersistenceUnitPostProcessors() { // TODO
342343
this.contextRunner.withUserConfiguration(TestConfigurationWithCustomPersistenceUnitPostProcessors.class)
343344
.run((context) -> {
344345
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = context
@@ -1141,10 +1142,11 @@ PersistenceUnitManager persistenceUnitManager() {
11411142
@TestAutoConfigurationPackage(HibernateJpaAutoConfigurationTests.class)
11421143
static class TestConfigurationWithCustomPersistenceUnitPostProcessors {
11431144

1145+
// todo
1146+
11441147
@Bean
1145-
EntityManagerFactoryBuilderCustomizer entityManagerFactoryBuilderCustomizer() {
1146-
return (builder) -> builder.setPersistenceUnitPostProcessors(
1147-
(pui) -> pui.addManagedClassName("customized.attribute.converter.class.name"));
1148+
PersistenceUnitPostProcessor entityManagerFactoryBuilderCustomizer() {
1149+
return (pui) -> pui.addManagedClassName("customized.attribute.converter.class.name")
11481150
}
11491151

11501152
}

module/spring-boot-jpa/src/main/java/org/springframework/boot/jpa/autoconfigure/JpaBaseConfiguration.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import org.springframework.orm.jpa.persistenceunit.PersistenceManagedTypes;
5353
import org.springframework.orm.jpa.persistenceunit.PersistenceManagedTypesScanner;
5454
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
55+
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor;
5556
import org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter;
5657
import org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor;
5758
import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter;
@@ -120,9 +121,13 @@ public JpaVendorAdapter jpaVendorAdapter() {
120121
@ConditionalOnMissingBean
121122
public EntityManagerFactoryBuilder entityManagerFactoryBuilder(JpaVendorAdapter jpaVendorAdapter,
122123
ObjectProvider<PersistenceUnitManager> persistenceUnitManager,
123-
ObjectProvider<EntityManagerFactoryBuilderCustomizer> customizers) {
124+
ObjectProvider<EntityManagerFactoryBuilderCustomizer> customizers,
125+
PersistenceUnitPostProcessor[] persistenceUnitPostProcessors) {
124126
EntityManagerFactoryBuilder builder = new EntityManagerFactoryBuilder(jpaVendorAdapter,
125127
this::buildJpaProperties, persistenceUnitManager.getIfAvailable());
128+
129+
builder.setPersistenceUnitPostProcessors(persistenceUnitPostProcessors);
130+
126131
customizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
127132
return builder;
128133
}

0 commit comments

Comments
 (0)