EclipseLink/FAQ/NoSQL

What is EclipseLink NoSQL?

EclipseLink supports JPA access to NoSQL databases such as MongoDB and Oracle NoSQL (as of EclipseLink 2.4). EclipseLink's existing JPA support can be used with NoSQL databases. A Java class can be mapped to a NoSQL datasource using the @NoSQL annotation or <no-sql> XML element.

EclipseLink also provides JPA access to EIS (Enterprise Information Systems) such as legacy databases and systems (CICS, ADA, VSAM, IMS, MQ, AQ). This support has been provided since EclipseLink 1.0 through the EclipseLink native API, and is now provided through JPA.

An EclipseLink EISPlatform is required to access a NoSQL data-source. EclipseLink provides NoSQL platforms for MongoDB, Oracle NoSQL, XML file, JMS and Oracle AQ. EclipseLink's NoSQL support is built on top of the standard Java Connector Architecture (JCA). EclipseLink can provide JPA access to a third party JCA adapter (such as Attunity) as long as it supports the JCA CCI API. The generic EISPlatform can be used, although it is normally desired to create a specific platform subclass for better integration.

EclipseLink's NoSQL support allows complex hierarchical data to be mapped, including XML, indexed, and hierarchical mapped data such as JSON data. CRUD operations, embedded objects and collections, inheritance, and relationships are supported. A subset of JPQL and the Criteria API are supported, dependent on the NoSQL database's query support.

What NoSQL data-sources are supported?

EclipseLink supports NoSQL databases through the Java Connector Architecture (JCA). EclipseLink can provide JPA access to a third party JCA adapter as long as it supports the JCA CCI API. The generic EISPlatform can be used, although it is normally desired to create a specific platform subclass for better integration.

EclipseLink supports adapters and platforms for the following NoSQL data-sources: