Developing applications is, in general, a complicated task, involving many components. Developing all of these components can be very time consuming.
The Java Persistence API (JPA) was designed to alleviate some of this time spent, providing an API to allow java developers to persist object-oriented
data into relational databases (RDBMS).
DataNucleus JPA provides an implementation of this JPA standard, allowing you, the user, to persist your
object-oriented data to not only the RDBMS datastores the standard was intended for, but also to a wide range of other datastores.
These include popular map stores such as Cassandra and HBase, the Neo4j graph store, spreadsheets in Excel or OpenDocument formats,
JSON formatted Amazon and Google Storage options, the popular MongoDB JSON-like document store, as well as ubiquitous LDAP and more besides.
DataNucleus was the first JPA provider to support persistence to non-RDBMS datastores, and still has a wider range of supported stores than any other JPA provider.
DataNucleus doesn’t purport to be the best solution to every problem.
For example, where you want to bulk persist large amounts of data then other solutions that get closer to the datastore API would be more appropriate.
Where you want to tailor the precise query sent to the datastore to take advantage of some datastore-specific feature is another situation
in which you may find a hand-crafted solution more appropriate.
That said, the range of capabilities of DataNucleus JPA cover a wide range of use-cases, the barrier to entry for use of DataNucleus is very low.
You do not need to necessarily be an expert in all features of the chosen datastore to use it. It shields you from the majority of the
more routine handling, whilst still letting you have a high degree of control over its behaviour and we hope that you benefit from its features.