> This is the big mess that makes JDO on Appengine so complicated,
> possibly even more complicated than it is on an RDBMS.  On the other
> hand... if you simply expose the Key (or OKey), the developer does a
> little more work but doesn't have to figure out all the configuration.
>  Without proxies, all entities are serializable and GWT-able without
> any special consideration.
>
> Actualy, JDO doesn't even offer all the necessary configuration
> options, which is probably why you end up seeing Key a lot as
> properties in JDO sample code.

All what necessary config options? You can detach without proxies in
JDO. Use of GWT with (enhanced) classes is easily possible using
GILEAD, and indeed in other frameworks requireing serialisation (e.g
Granite) you don't have any such issue.

Exposing "Key" to a user is not (in my opinion) a requirement for
*providing* a JDO impl on GAE/J. Other datastores have their own
internal "id" and we don't expose theirs (e.g db4o).

> I don't want to say that it isn't possible to build a system that
> abstracts entities into a sophisticated object graph - clearly, we
> have JDO & JPA.  What I'm saying is that the people who created JDO &
> JPA are not idiots (although I do think the creators of JDO's
> annotations are aesthetically challenged).  The reason JDO has all
> that complexity and endless configuration and query languages and
> fetch groups and proxies and detaching and whatnot is because that's
> what you need to abstract an arbitrary entity graph.

And, of course, all of that (endless) configuration is optional. There
is very little that is mandatory, like declaring what class(es) can be
persisted. Evidently, at some point, you're going to actually define
*what* is aesthetically displeasing about JDO annotations, and you
could do that with reference to JPA annotations too (where you'll find
many many more annotations, and with delightfully RDBMS specific names
too) :-) Such annotations obviously had to provide backwards
compatibility naming with JDO 1.0 and JDO 2.0 specs, and as the saying
goes, if you think you can do better ...

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to