InfoQ

News

DataNucleus Access Platform 1.0 (final) released

Posted by Dionysios G. Synodinos on Sep 14, 2008 04:59 AM

Community
Java
Topics
Data Access
Tags
ORM ,
JPA

DataNucleus, the successor to the Java Persistence Platform JPOX, has released DataNucleus Access Platform 1.0.0 which provides access to a range of datastores for Java applications using JDO/JPA API's.

DataNucleus Access Platform 1.0.0 is fully compliant with JDO1, JDO2, JDO2.1, JPA1, and provides preview features for JDO2.2 and JPA2. It currently supports persistence to RDBMS, db4o, LDAP, XML, Excel, NeoDatis ODB, and JSON. It additionally allows configuration of classes to be persisted using JDO annotations/XML or JPA annotations/XML providing access to both JDO and JPA APIs regardless of which configuration method was chosen. Querying of the supported datastores can be performed using JDOQL, JPQL or SQL (dependent on the datastore). By making use of standardized APIs, the process of swapping persistence from one datastore to another is a simple URL change when specifying the datastore. AccessPlatform is made up of a series of OSGi compliant jars, and can be utilized in J2SE, J2EE, or OSGi container environments. By using OSGi together with eclipse extension-points, DataNucleus is extensible and provides support for your own datastore.

DataNucleus Access Platform provides the next generation of Java Persistent Objects (JPOX), and adds support for:

  • Persisting to LDAP datastores
  • Querying LDAP datastores using JDOQL
  • Querying LDAP datastores using JPQL
  • Persisting to Excel Documents
  • Querying Excel documents using JDOQL
  • Querying Excel documents using JPQL
  • Persisting to XML Documents
  • Querying XML documents using JDOQL
  • Querying XML documents using JPQL
  • DB4O in Embedded Server mode
  • Querying db4o using SQL via JDO or JPA, using sql4o
  • Querying db4o using JPQL
  • Persisting to NeoDatis ODB
  • Querying NeoDatis ODB datastores using JDOQL
  • Querying NeoDatis ODB datastores using JPQL
  • Persisting to JSON
  • Querying JSON objects using JDOQL
  • Querying JSON objects using JPQL
  • Rewritten Level 2 caching for JDO/JPA
  • Public API for accessing RDBMS Schema information
  • JDO2.2 : Support for "cacheable" declarations
  • JDO2.2 : Support for "read-only" declaration (previously was vendor extension)
  • JDO2.2 : Support for "dynamic fetch groups" declaration (previously was vendor extension)
  • JPA2 : Support for @ElementCollection, @CollectionTable
  • JPA2 : Support for EntityManagerFactory.getCache(), and some Query methods
  • Runtime Enhancement : Support for annotations, and support for specified packages.
  • RDBMS : Support for large result sets sizing using count() query
  • RDBMS : Dynamic schema upgrade when encountering new interface implementations

DataNucleus Access Platform is provided under the Apache 2 open source license.

Documentation is available to view online (or PDF).

You can find more information on ORM here: infoq.com/orm

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.