Perhaps I am thinking of JDO and JPA as being more similar than I should, but I've found that GAE doesn't really want you to think of your datastore in an OO manner either. It's a collection of documents and indexes. JDO (and JPA) encourage you to model your objects as you would in any sane system and then let you forget about the mapping to the underlying datastore as much as possible. That's awesome for most environments. But IMHO (and admittedly with only a few months of time trying to wrap my head around a JDO application I inherited, yes with the old plugin) this is not the best way to work with the GAE Datastore. I'm sure it works fine for many projects, but traversing large trees of objects one at a time is very costly in terms of performance. I've found that it's much more efficient to store the data you need from related objects in the parent directly or in another record using partial decomposition. That also makes using the memcache service to cache larger result sets much easier, and you don't wind up needing a lot of indexes to perform complex queries since you can search on records that have been created ahead of time. Yes, you can do this with JDO, but in my opinion JDO creates a layer of abstraction that you don't need and one that gets in the way.
On Jan 3, 2:52 am, datanucleus <andy_jeffer...@yahoo.com> wrote: > > JDO was designed for relational data models, GAE was designed for the > > opposite. > > Please check your facts, perhaps by consulting people who actually > designed the JDO standard, or by actually reading the JDO spec. It was > designed to be datastore-agnostic. JPA on the other hand was not, with > RDBMS syntax leaking through the query language. > > Use of version 2 of the GAE plugin (included as optional in 1.6.1 SDK) > is recommended, fixing many shortcomings in the design of the original > plugin -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.