From 5b387615c67fb147c2cbd87881cf4b58b042e994 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 10 Sep 2025 18:06:44 +0200 Subject: [PATCH 1/2] Clarify intended nestedTransactionAllowed default in JpaTransactionManager Closes gh-35212 --- .../hibernate5/HibernateTransactionManager.java | 4 ++-- .../orm/jpa/JpaTransactionManager.java | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTransactionManager.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTransactionManager.java index f44a5c249c1..01d6518c4a5 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTransactionManager.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTransactionManager.java @@ -88,12 +88,12 @@ import org.springframework.util.Assert; * such a scenario (see container setup). * *

This transaction manager supports nested transactions via JDBC Savepoints. - * The {@link #setNestedTransactionAllowed} "nestedTransactionAllowed"} flag defaults + * The {@link #setNestedTransactionAllowed "nestedTransactionAllowed"} flag defaults * to "false", though, as nested transactions will just apply to the JDBC Connection, * not to the Hibernate Session and its cached entity objects and related context. * You can manually set the flag to "true" if you want to use nested transactions * for JDBC access code which participates in Hibernate transactions (provided that - * your JDBC driver supports Savepoints). Note that Hibernate itself does not + * your JDBC driver supports savepoints). Note that Hibernate itself does not * support nested transactions! Hence, do not expect Hibernate access code to * semantically participate in a nested transaction. * diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/JpaTransactionManager.java b/spring-orm/src/main/java/org/springframework/orm/jpa/JpaTransactionManager.java index bec3bda232f..e77520e416c 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/JpaTransactionManager.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/JpaTransactionManager.java @@ -93,13 +93,14 @@ import org.springframework.util.CollectionUtils; * *

This transaction manager supports nested transactions via JDBC Savepoints. * The {@link #setNestedTransactionAllowed "nestedTransactionAllowed"} flag defaults - * to {@code false} though, since nested transactions will just apply to the JDBC - * Connection, not to the JPA EntityManager and its cached entity objects and related - * context. You can manually set the flag to {@code true} if you want to use nested - * transactions for JDBC access code which participates in JPA transactions (provided - * that your JDBC driver supports Savepoints). Note that JPA itself does not support - * nested transactions! Hence, do not expect JPA access code to semantically - * participate in a nested transaction. + * to "true" but should rather be "false", as nested transactions will just apply to + * the JDBC Connection, not to the JPA EntityManager and its cached entity objects + * and related context. As of Spring Framework 7.0, the default will be "false" in + * alignment with other transaction managers, requiring an explicit switch to "true" + * if you want to use nested transactions for JDBC access code which participates + * in JPA transactions (provided that your JDBC driver supports savepoints). + * Note that JPA itself does not support nested transactions! Hence, do not + * expect JPA access code to semantically participate in a nested transaction. * * @author Juergen Hoeller * @since 2.0 From d17601e01c2aa9d95739699e67f0acc374456948 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 10 Sep 2025 18:38:20 +0200 Subject: [PATCH 2/2] Upgrade to Undertow 2.3.19, RxJava 3.1.11, Aalto 1.3.3 --- framework-platform/framework-platform.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/framework-platform/framework-platform.gradle b/framework-platform/framework-platform.gradle index 809f83d72cf..5b42b34336e 100644 --- a/framework-platform/framework-platform.gradle +++ b/framework-platform/framework-platform.gradle @@ -24,7 +24,7 @@ dependencies { api(platform("org.mockito:mockito-bom:5.19.0")) constraints { - api("com.fasterxml:aalto-xml:1.3.2") + api("com.fasterxml:aalto-xml:1.3.3") api("com.fasterxml.woodstox:woodstox-core:6.7.0") api("com.github.ben-manes.caffeine:caffeine:3.2.2") api("com.github.librepdf:openpdf:1.3.43") @@ -53,11 +53,11 @@ dependencies { api("io.r2dbc:r2dbc-h2:1.0.0.RELEASE") api("io.r2dbc:r2dbc-spi-test:1.0.0.RELEASE") api("io.r2dbc:r2dbc-spi:1.0.0.RELEASE") - api("io.reactivex.rxjava3:rxjava:3.1.10") + api("io.reactivex.rxjava3:rxjava:3.1.11") api("io.smallrye.reactive:mutiny:1.10.0") - api("io.undertow:undertow-core:2.3.18.Final") - api("io.undertow:undertow-servlet:2.3.18.Final") - api("io.undertow:undertow-websockets-jsr:2.3.18.Final") + api("io.undertow:undertow-core:2.3.19.Final") + api("io.undertow:undertow-servlet:2.3.19.Final") + api("io.undertow:undertow-websockets-jsr:2.3.19.Final") api("io.vavr:vavr:0.10.4") api("jakarta.activation:jakarta.activation-api:2.0.1") api("jakarta.annotation:jakarta.annotation-api:2.0.0")