30 Commits
Author SHA1 Message Date
Andy Wilkinson bc72f228c3 Merge branch '4.1.x'
Closes gh-51764
2026-09-15 13:03:19 +01:00
Andy Wilkinson 7612f4a222 Merge branch '4.0.x' into 4.1.x
Closes gh-51763
2026-09-15 13:03:03 +01:00
Andy Wilkinson 682816229a Merge branch '4.1.x'
Closes gh-51577
2026-09-04 10:07:51 +01:00
Andy Wilkinson c38c15b3b7 Merge branch '4.0.x' into 4.1.x
Closes gh-51576
2026-09-04 09:53:28 +01:00
Venkata Naga Sai Srikanth Gollapudi 87c4755a86 Harmonize use of Collections and Maps in configuration properties
See gh-50367

Signed-off-by: Venkata Naga Sai Srikanth Gollapudi <42247688+gollapudisrikanth@users.noreply.github.com>
2026-07-15 11:37:31 +02:00
Stéphane Nicoll d4d20787c1 Polish "Lazily resolve JPA fallback bootstrap executor"
See gh-50801
2026-07-14 17:45:54 +02:00
Ns 8c519369ec Lazily resolve JPA fallback bootstrap executor
Previously, the `entityManagerFactoryBuilder` bean method injected a
`Map<String, AsyncTaskExecutor>` to determine the fallback executor used
for background JPA bootstrapping. A `Map` parameter is resolved eagerly,
so this forced early initialization of every `AsyncTaskExecutor` bean
whenever the builder was created, even when background bootstrapping was
not in use. When an `AsyncTaskExecutor` directly or transitively
depended on the `EntityManagerFactory`, this resulted in a
`BeanCurrentlyInCreationException`.

The fallback executor is now resolved lazily.
`EntityManagerFactoryBuilder` holds a `Supplier` that is only invoked
when background bootstrapping is actually required, and the executor is
then looked up from the `BeanFactory` rather than eagerly injected. A
new `Supplier`-based constructor is added for this purpose; the existing
constructor that accepts an `AsyncTaskExecutor` is retained and
delegates to it.

The same eager `Map<String, AsyncTaskExecutor>` injection, along with an
unused private method, is also removed from
`DataJpaRepositoriesAutoConfiguration`.

See gh-50801

Signed-off-by: Ns <397827222@qq.com>
2026-07-14 17:11:14 +02:00
Andy Wilkinson c5261cf0eb Merge branch '4.0.x'
Closes gh-50878
2026-06-28 12:14:56 +01:00
Stéphane Nicoll 5bf2a32b11 Merge branch '4.0.x' 2026-05-30 14:39:57 +02:00
Stéphane Nicoll 98084aab2b Reformat additional-spring-configuration-metadata.json files 2026-05-30 14:28:53 +02:00
Andy Wilkinson 6a74bb85a3 Merge branch '4.0.x'
Closes gh-50440
2026-05-14 15:03:44 +01:00
Andy Wilkinson add52b6ccd Merge branch '3.5.x' into 4.0.x
Closes gh-50439
2026-05-14 15:02:24 +01:00
Phillip Webb d28cec064e Replace PropertyBasedRequiredBackgroundBootstrapping with exception
Replace `PropertyBasedRequiredBackgroundBootstrapping` with a simpler
`BootstrapExecutorRequiredException` and use a regular failure analyzer
to provide help.

See gh-49733
See gh-49688
2026-03-25 19:19:48 -07:00
Yanming Zhou 6c5b3a06ec Fix nullable declaration in EntityManagerFactoryBuilder
See gh-49740

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2026-03-24 19:05:01 -07:00
Phillip Webb 91f4bc9455 Add 'spring.jpa.bootstrap' property
Add a `spring.jpa.bootstrap` property that can be set to `async`
to switch on background bootstrapping in classic JPA setup.

Closes gh-49733
2026-03-24 16:45:11 -07:00
Phillip Webb e76c6c5488 Refine Spring Data JPA background bootstrapping mode support
Update `spring.data.jpa.repositories.bootstrap-mode` logic
so that:

- A value of `lazy` no longer sets a bootstrap executor.

- A value of `deferred` requires that a bootstrap executor is
  ultimately set, and fails with a meaningful message if it is
  not.

The logic used to find the AsyncTaskExecutor has now moved to
the `JpaBaseConfiguration` and is triggered by the
`EntityManagerFactoryBuilder` only when background
bootstrapping is required.

Closes gh-49688
2026-03-24 16:43:59 -07:00
Phillip Webb d3b6fa73ad Polish EntityManagerFactoryBuilder 2026-03-24 16:43:09 -07:00
Stéphane Nicoll d0fed0ea6b Fix formatting
See gh-47802
2025-12-19 11:58:02 +01:00
Stéphane Nicoll 9602be20aa Polish contribution
See gh-47802
2025-12-19 11:46:52 +01:00
Lansana DIOMANDE b8cefd2b9c Add support for configuring additional PersistenceUnitPostProcessor
See gh-47802

Signed-off-by: Lansana DIOMANDE <lansana.diomande@epfedu.fr>
2025-12-19 11:46:51 +01:00
Stéphane Nicoll d1e5fe3248 Merge branch '3.5.x'
Closes gh-48106
2025-11-13 10:31:25 +01:00
Stéphane Nicoll 728cb95a17 Fix formatting 2025-10-23 14:12:50 +02:00
Andy Wilkinson aa95282290 Polish @since tags
Closes gh-47779
2025-10-23 12:48:58 +01:00
Stéphane Nicoll 36c2432f69 Rename 'spring-boot-tx' module to 'spring-boot-transaction'
Closes gh-47603
2025-10-16 09:14:20 +02:00
Moritz Halbritter 9d63a74bbc Add nullability annotations to tests in module/spring-boot-jpa
See gh-47263
2025-10-06 13:07:58 +02:00
Stéphane Nicoll cdd39bafd7 Introduce spring-boot-persistence
This commit adds a spring-boot-persistence module with data technology
independent features. This provides a better home for EntityScan and
PersistenceExceptionTranslationAutoConfiguration.

Closes gh-45328
2025-09-17 14:42:22 +02:00
Andy Wilkinson b42a060d0a Merge branch '3.5.x'
Closes gh-46943
2025-08-22 11:59:17 +01:00
Moritz Halbritter 81d196bd9b Fix NullAway suppression in EntityManagerFactoryBuilder
See gh-46587
2025-08-13 14:46:32 +02:00
Moritz Halbritter ac8db5d4e5 Add nullability annotations to module/spring-boot-jpa
See gh-46587
2025-08-01 09:16:11 +02:00
Phillip Webb decc32dde3 Restructure project directories to better fit Gradle
Closes gh-46358
2025-07-10 17:54:08 -07:00