Jakarta NoSQL 1.1 (Under Development)
Enhancements for Jakarta EE 12
Jakarta NoSQL is a Java framework that streamlines the integration of Java applications with NoSQL databases.
The 1.1 release builds upon the stable 1.0 foundation and introduces several key features to expand interoperability, improve developer productivity, and align with the broader Jakarta EE ecosystem.
This release focuses on the definition of a standard Driver Communication API, which will allow consistent and portable integration with NoSQL databases. It also includes support for Jakarta Query, prepared statement execution, and enhanced attribute mapping.
This release is targeted for Jakarta EE 12, ensuring full compatibility with the latest specifications in the Jakarta ecosystem.
New features, enhancements or additions
- Update dependencies
- Update Java version
- Standardized Driver Communication API to unify and simplify the integration of NoSQL providers
- Jakarta Query support for fluent, portable query definitions (Jakarta Query GitHub)
- Prepared Statement support for parameterized and secure query execution.
- Support for
Map<K, V> attributes where V is an entity or embedded class.
Map support with embedded values
This release introduces support for Map attributes in entity models where the map values are either entity classes or embeddable classes. These types can be defined using regular classes or Java records and must be annotated respectively with @jakarta.nosql.Entity or @jakarta.nosql.Embeddable.
This enhancement enables modeling more expressive and structured data where a key is associated with a dynamic or nested value, which is useful in many NoSQL databases that support such behavior, including several document-based databases.
@Entity
public class Developer {
@Id
private String id;
private String name;
@Column
private Map<String, Skill> skills;
}
@Embeddable
public class Skill {
private String name;
private int experienceInYears;
}
Support for Jakarta Query and Prepared Statements
Jakarta NoSQL 1.1 introduces support for Jakarta Query, a fluent and portable query language that allows developers to express queries consistently across both NoSQL and relational systems. In addition, this version enables the use of prepared statements, which safely bind parameters and facilitate the execution of reusable queries. This feature enhances both query performance and security, particularly in dynamic query scenarios.
Query query = database.prepare( "FROM Developer WHERE language = :language");
prepared.bind("language", "Java");
var developers = prepared.result();
Removals, deprecations or backwards incompatible changes
You are welcome to contribute to the development of Jakarta NoSQL 1.1 through any of the following channels:
Target Implementations
Jakarta NoSQL 1.1 is designed with a Driver Communication API that acts as an adapter layer between the specification and NoSQL databases. As a result, vendors do not need to create a full implementation of the specification but can instead provide a lightweight wrapper or adapter around their existing client libraries.
- Eclipse JNoSQL – the reference implementation, developed in close collaboration with the Jakarta NoSQL specification team.
- MongoDB – expected support through an adapter wrapping the official MongoDB Java driver
- Oracle NoSQL – expected support via a wrapper around Oracle’s NoSQL client
- Other NoSQL vendors (e.g., Redis, Cassandra, Couchbase, Neo4j) are encouraged to contribute drivers by implementing the adapter interface
Minimum Java SE Version
Details
Plan Review
The Specification Committee Ballot concluded successfully on 2025-04-30 with the following results.
| Representative |
Representative for: |
Vote |
| Kenji Kazumura |
Fujitsu |
+1 |
| Emilly 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 |
no vote |
| Werner Keil |
Committer Members |
no vote |
| Jun Qian |
Enterprise Members |
no vote |
| Zhai Luchao |
Enterprise Members |
+1 |
|
Total |
7 |
| Non-binding votes |
|
Vote |
| Michael Redich |
Community |
+1 |
|
Total |
1 |
The ballot was run in the jakarta.ee-spec mailing list