Google AppEngine - BigTable

DataNucleus supports persisting/retrieving objects to/from Google App Engine BigTable datastore (using the datanucleus-appengine plugin). Simply specify your connection details as follows


Please note that you should always use version 2.1+ of this plugin with this release of DataNucleus. Versions 1.x of the plugin have major drawbacks resulting in a very poor reflection of JDO/JPA. Versions 2.0.x of the plugin are for use with DataNucleus v3.0

Once you have specified your connection details you then create your PMF/EMF as normal and use JDO/JPA as normal. Things to bear in mind with GAE BigTable usage :-

  • Querying can be performed using JDOQL or JPQL. Some query constructs are evaluated in the datastore, and you can request that any others are handled in-memory. If you want queries to automatically evaluate unsupported constructs in-memory just set the persistence property datanucleus.appengine.query.inMemoryWhenUnsupported to "true"
  • Relation Mode : by default all relations are owned meaning that when related objects are persisted they are owned by the original object and their "id" contains the Key of the owner object. You can set datanucleus.appengine.relationDefault to unowned and make all relations default to unowned, just like all other supported datastores