Skip to main content

Jakarta NoSQL

Jakarta NoSQL is a Jakarta EE specification (enterprise application framework standard) that defines a unified programming model and integration Application Programming Interface (API) for working with NoSQL databases in Java enterprise applications.

  • Standardized Java API for NoSQL data access (data access framework).
  • Programming model aligned with Jakarta EE for integrating NoSQL stores (enterprise application framework).
  • Support for document, key-value, column, and graph NoSQL database types (database integration).
  • Mapping between Java entities and NoSQL representations (object mapping / data mapping).
  • Extension point for NoSQL database providers to offer Jakarta-compatible drivers and integrations (ecosystem integration).

More About Jakarta NoSQL

Jakarta NoSQL is a specification under the Jakarta EE umbrella that defines a consistent Java programming model for interacting with NoSQL databases (data access framework). It addresses the problem of fragmented client libraries and patterns by offering a standard way for enterprise Java applications to work with diverse NoSQL data models. The specification is developed and maintained within the Eclipse Foundation governance model and is part of the broader Jakarta EE platform (enterprise application framework).

The specification focuses on an API and annotations that integrate naturally with Jakarta EE concepts such as dependency injection and configuration (enterprise application framework). It defines a unified way to represent and manipulate data in NoSQL stores, including key-value, document, column-family, and graph databases (database integration). The model is designed to separate application business logic from vendor-specific client libraries, allowing enterprises to target different NoSQL technologies through a common abstraction.

Jakarta NoSQL introduces a mapping layer that connects Java entities to NoSQL data structures (object mapping / data mapping). Through annotations and configuration, developers can define how Java classes correspond to documents, key-value entries, columns, or graph elements in supported databases. The API covers basic create, read, update, and delete operations, as well as query mechanisms appropriate to the underlying NoSQL model (data persistence). This structure is intended to align with other Jakarta specifications so that NoSQL data access fits into the same programming style as relational persistence and messaging components.

In enterprise environments, Jakarta NoSQL is used to integrate NoSQL databases into Jakarta EE applications deployed on compatible runtimes (application integration). Organizations can use it to incorporate document stores for content data, key-value stores for caching and session data, column-family stores for analytical workloads, or graph databases for relationship-centric applications (database integration). Because the specification defines a stable contract, application code can be written against the Jakarta NoSQL API while database vendors or connectors provide concrete implementations.

The specification is designed for extensibility through service provider interfaces that database vendors or open-source projects can implement (ecosystem integration). This enables interoperability between Jakarta EE runtimes and multiple NoSQL systems, within the constraints of the abstracted data models. Jakarta NoSQL sits in the directory category of Java/Jakarta EE data access standards, alongside other persistence and integration specifications, and provides a standard building block for enterprises that adopt Jakarta EE and want to incorporate NoSQL storage technologies into their architectures.