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.

Reply via email to