Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreOn behalf of the team and everyone who has contributed, I am pleased to announce the first milestone of the next Spring Data generation.
As announced previously, we shipped 2025.1.0-M1
to Maven Central. We're looking forward to collecting more feedback from the community by easing access to our milestone. The GA release is targeted for November 2025.
This first milestone comes with several baseline changes, raising its minimum requirements to Jakarta EE 11 (Hibernate ORM 7, Hibernate Validator 9) and Kotlin 2.x. It is also an opportunity for us to ship API removals (such as ListenableFuture
) and deprecations we intend to enforce as of this major revision.
There are a few features we want to highlight for you to explore:
Spring Data JPA has undergone a major revision. We use JPQL for derived queries resulting in a significant query execution improvement due to Hibernate Query Structure Caching. Previously, we used the Criteria API that wasn't able to participate in this. With the JPA 3.2 baseline upgrade, we fully support Nulls Precedence and switched to Query.getSingleResultOrNull()
to avoid exception overhead in case of single-result queries that do not yield a result.
In that course, we refined the Specifications
arrangement by introducing variants PredicateSpecification
, UpdateSpecification
, and DeleteSpecification
.
Repository method validation ships with early support for JSpecify nullability annotations if your code base is annotated with @NullMarked
. Usage of JSpecify in the Spring Data code base will follow in a later milestone.
The full release notes are at Spring Data 2025.1 Release Notes.
Going forward, we will be working on migrating to JSpecify and Ahead-of-Time repositories for the next milestones.
4.0 M1
- Javadoc - Documentation - Changelog4.0 M1
- Javadoc - Documentation - Changelog8.0 M1
- Javadoc - Documentation - Changelog5.0 M1
- Javadoc - Documentation - Changelog4.0 M1
- Javadoc - Documentation - Changelog5.0 M1
- Javadoc - Documentation - Changelog4.0 M1
- Javadoc - Documentation - Changelog5.0 M1
- Javadoc - Documentation - Changelog4.0 M1
- Javadoc - Documentation - Changelog6.0 M1
- Javadoc - Documentation - Changelog6.0 M1
- Javadoc - Documentation - Changelog4.0 M1
- Javadoc - Documentation - Changelog