> 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.
