Skip to content

Commit c9f9b6e

Browse files
snicollwilkinsona
authored andcommitted
Create spring-boot-jpa module
1 parent 6809c46 commit c9f9b6e

File tree

89 files changed

+372
-304
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+372
-304
lines changed

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ include "spring-boot-project:spring-boot-jackson"
5959
include "spring-boot-project:spring-boot-jdbc"
6060
include "spring-boot-project:spring-boot-jetty"
6161
include "spring-boot-project:spring-boot-jms"
62+
include "spring-boot-project:spring-boot-jpa"
6263
include "spring-boot-project:spring-boot-jsonb"
6364
include "spring-boot-project:spring-boot-kafka"
6465
include "spring-boot-project:spring-boot-liquibase"

spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ dependencies {
2525
optional(project(":spring-boot-project:spring-boot-jackson"))
2626
optional(project(":spring-boot-project:spring-boot-jdbc"))
2727
optional(project(":spring-boot-project:spring-boot-jetty"))
28+
optional(project(":spring-boot-project:spring-boot-jpa"))
2829
optional(project(":spring-boot-project:spring-boot-jsonb"))
2930
optional(project(":spring-boot-project:spring-boot-kafka"))
3031
optional(project(":spring-boot-project:spring-boot-liquibase"))

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/HibernateMetricsAutoConfiguration.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
3535
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
3636
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
37-
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
3837
import org.springframework.context.annotation.Configuration;
3938
import org.springframework.util.StringUtils;
4039

@@ -47,8 +46,8 @@
4746
* @since 2.1.0
4847
*/
4948
@Configuration(proxyBeanMethods = false)
50-
@AutoConfigureAfter({ MetricsAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
51-
SimpleMetricsExportAutoConfiguration.class })
49+
@AutoConfigureAfter(value = { MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
50+
name = "org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration")
5251
@ConditionalOnClass({ EntityManagerFactory.class, SessionFactory.class, HibernateMetrics.class, MeterRegistry.class })
5352
@ConditionalOnBean({ EntityManagerFactory.class, MeterRegistry.class })
5453
public class HibernateMetricsAutoConfiguration implements SmartInitializingSingleton {

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2023 the original author or authors.
2+
* Copyright 2012-2025 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -27,8 +27,8 @@
2727
import org.springframework.boot.autoconfigure.AutoConfigurations;
2828
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
2929
import org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration;
30-
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
3130
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
31+
import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration;
3232
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
3333
import org.springframework.context.annotation.Bean;
3434
import org.springframework.context.annotation.Configuration;

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/HibernateMetricsAutoConfigurationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@
3434

3535
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
3636
import org.springframework.boot.autoconfigure.AutoConfigurations;
37-
import org.springframework.boot.autoconfigure.orm.jpa.EntityManagerFactoryBuilderCustomizer;
38-
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
3937
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
4038
import org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration;
41-
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
39+
import org.springframework.boot.jpa.EntityManagerFactoryBuilder;
40+
import org.springframework.boot.jpa.autoconfigure.EntityManagerFactoryBuilderCustomizer;
41+
import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration;
4242
import org.springframework.boot.test.context.FilteredClassLoader;
4343
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
4444
import org.springframework.boot.testsupport.classpath.resources.WithResource;

spring-boot-project/spring-boot-all/src/main/resources/META-INF/spring.factories

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,6 @@ org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitia
66
org.springframework.boot.env.EnvironmentPostProcessor=\
77
org.springframework.boot.reactor.ReactorEnvironmentPostProcessor
88

9-
# Database Initializer Detectors
10-
org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector=\
11-
org.springframework.boot.orm.jpa.JpaDatabaseInitializerDetector
12-
139
# Depends On Database Initialization Detectors
1410
org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitializationDetector=\
15-
org.springframework.boot.jooq.JooqDependsOnDatabaseInitializationDetector,\
16-
org.springframework.boot.orm.jpa.JpaDependsOnDatabaseInitializationDetector
11+
org.springframework.boot.jooq.JooqDependsOnDatabaseInitializationDetector

spring-boot-project/spring-boot-autoconfigure-all/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ dependencies {
4747
optional(project(":spring-boot-project:spring-boot-flyway"))
4848
optional(project(":spring-boot-project:spring-boot-jackson"))
4949
optional(project(":spring-boot-project:spring-boot-jdbc"))
50+
optional(project(":spring-boot-project:spring-boot-jpa"))
5051
optional(project(":spring-boot-project:spring-boot-jsonb"))
5152
optional(project(":spring-boot-project:spring-boot-liquibase"))
5253
optional(project(":spring-boot-project:spring-boot-r2dbc"))

spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty;
3636
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3737
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
38-
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
3938
import org.springframework.boot.autoconfigure.sql.init.OnDatabaseInitializationCondition;
4039
import org.springframework.boot.context.properties.EnableConfigurationProperties;
4140
import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer;
@@ -70,7 +69,8 @@
7069
* @author Yanming Zhou
7170
* @since 1.0.0
7271
*/
73-
@AutoConfiguration(after = { HibernateJpaAutoConfiguration.class, TransactionAutoConfiguration.class })
72+
@AutoConfiguration(after = TransactionAutoConfiguration.class,
73+
afterName = "org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration")
7474
@ConditionalOnClass({ JobLauncher.class, DataSource.class, DatabasePopulator.class })
7575
@ConditionalOnBean({ DataSource.class, PlatformTransactionManager.class })
7676
@ConditionalOnMissingBean(value = DefaultBatchConfiguration.class, annotation = EnableBatchProcessing.class)

spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@
2121
import org.springframework.boot.autoconfigure.AutoConfiguration;
2222
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2323
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheConfigurationImportSelector;
24-
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheManagerEntityManagerFactoryDependsOnPostProcessor;
24+
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheManagerEntityManagerFactoryDependsOnConfiguration;
2525
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2727
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2828
import org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration;
2929
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
3030
import org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration;
31-
import org.springframework.boot.autoconfigure.orm.jpa.EntityManagerFactoryDependsOnPostProcessor;
32-
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
3331
import org.springframework.boot.context.properties.EnableConfigurationProperties;
32+
import org.springframework.boot.jpa.autoconfigure.EntityManagerFactoryDependsOnPostProcessor;
3433
import org.springframework.cache.CacheManager;
3534
import org.springframework.cache.annotation.EnableCaching;
3635
import org.springframework.cache.interceptor.CacheAspectSupport;
3736
import org.springframework.context.annotation.Bean;
37+
import org.springframework.context.annotation.Configuration;
3838
import org.springframework.context.annotation.Import;
3939
import org.springframework.context.annotation.ImportSelector;
4040
import org.springframework.core.type.AnnotationMetadata;
@@ -53,13 +53,15 @@
5353
* @since 1.3.0
5454
* @see EnableCaching
5555
*/
56-
@AutoConfiguration(after = { CouchbaseDataAutoConfiguration.class, HazelcastAutoConfiguration.class,
57-
HibernateJpaAutoConfiguration.class, RedisAutoConfiguration.class })
56+
@AutoConfiguration(
57+
after = { CouchbaseDataAutoConfiguration.class, HazelcastAutoConfiguration.class,
58+
RedisAutoConfiguration.class },
59+
afterName = "org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration")
5860
@ConditionalOnClass(CacheManager.class)
5961
@ConditionalOnBean(CacheAspectSupport.class)
6062
@ConditionalOnMissingBean(value = CacheManager.class, name = "cacheResolver")
6163
@EnableConfigurationProperties(CacheProperties.class)
62-
@Import({ CacheConfigurationImportSelector.class, CacheManagerEntityManagerFactoryDependsOnPostProcessor.class })
64+
@Import({ CacheConfigurationImportSelector.class, CacheManagerEntityManagerFactoryDependsOnConfiguration.class })
6365
public class CacheAutoConfiguration {
6466

6567
@Bean
@@ -74,8 +76,15 @@ public CacheManagerValidator cacheAutoConfigurationValidator(CacheProperties cac
7476
return new CacheManagerValidator(cacheProperties, cacheManager);
7577
}
7678

77-
@ConditionalOnClass(LocalContainerEntityManagerFactoryBean.class)
79+
@Configuration(proxyBeanMethods = false)
80+
@ConditionalOnClass({ EntityManagerFactoryDependsOnPostProcessor.class,
81+
LocalContainerEntityManagerFactoryBean.class })
7882
@ConditionalOnBean(AbstractEntityManagerFactoryBean.class)
83+
@Import(CacheManagerEntityManagerFactoryDependsOnPostProcessor.class)
84+
static class CacheManagerEntityManagerFactoryDependsOnConfiguration {
85+
86+
}
87+
7988
static class CacheManagerEntityManagerFactoryDependsOnPostProcessor
8089
extends EntityManagerFactoryDependsOnPostProcessor {
8190

spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
3030
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
3131
import org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.JpaRepositoriesImportSelector;
32-
import org.springframework.boot.autoconfigure.orm.jpa.EntityManagerFactoryBuilderCustomizer;
33-
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
3432
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
33+
import org.springframework.boot.jpa.autoconfigure.EntityManagerFactoryBuilderCustomizer;
34+
import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration;
3535
import org.springframework.context.annotation.Bean;
3636
import org.springframework.context.annotation.Conditional;
3737
import org.springframework.context.annotation.Import;

0 commit comments

Comments
 (0)