Jakarta Persistence 4.0 (Under development)
Release for Jakarta EE 12
Jakarta Persistence defines a standard for management of persistence
and object/relational mapping in Java(R) environments.
New features, enhancements or additions
- Add new API for working with detached entities, along with associated lifecycle callbacks
- Add programmatic API for expressing native query result set mappings
- New annotations for expressing named entity graphs
- Allow entities to be loaded in read-only mode
- Allow batch loading of entities by id
- Add operation to obtain the number of query results
- Add an annotation to exclude a field from optimistic locking
- Allow
@NamedQuery and @NamedNativeQuery more control over query execution
- Allow passing an
EntityGraph to refresh(), and improve usability of entity graphs
- Make
select new implicit when a query result type is given
- Add a
@PreMerge lifecycle callback
- Add support for
SequencedCollection and friends
- Decouple entity discovery/enhancement from
EntityManagerFactory initialization in container environments
- Specify that the
jakarta.persistence.database-xxxx configuration properties are available for use by the application program, and not only by containers
Removals, deprecations or backwards incompatible changes
- Drop APIs already marked
forRemoval in 3.2
- Change return type of
createNativeQuery() to TypedQuery
- Drop use of
SecurityManager
- Clarify the format of entity names
Architectural changes
- Donate definition of Jakarta Persistence Query Language to Jakarta Query
- Take ownership of standalone TCK
Minimum Java SE Version
Java SE 21 or higher
Details
Ballots
Plan Review
The Specification Committee Ballot concluded successfully on 2025-04-23 with the following results.
| Representative |
Representative for: |
Vote |
| Kenji Kazumura |
Fujitsu |
+1 |
| Emily Jiang, Tom Watson |
IBM |
+1 |
| Ed Bratt, Dmitry Kornilov |
Oracle |
+1 |
| Andrew Pielage, Petr Aubrecht |
Payara |
+1 |
| David Blevins, Jean-Louis Monteiro |
Tomitribe |
+1 |
| Ivar Grimstad |
EE4J PMC |
+1 |
| Marcelo Ancelmo, Abraham Marin-Perez |
Participant Members |
+1 |
| Werner Keil |
Committer Members |
+1 |
| Jun Qian |
Enterprise Members |
+1 |
| Zhai Luchao |
Enterprise Members |
+1 |
|
Total |
10 |
Non-binding Votes
| Representative |
Representative for: |
Vote |
| Angelo Rubini |
Community |
+1 |
| Michael Redlich |
Community |
+1 |
|
Total |
2 |
The ballot was run on the jakarta.ee-spec mailing list