Clay, I'm totally agree with you. JDO limits the great flexibility of datastore, I don't understand why Google advises agains low-level API.
On Sep 22, 4:17 pm, Clay Lenhart <[email protected]> wrote: > I'm using the Low Level API, and I find that the JDO and Low Level > APIs have little significant difference in productivity. > > Low Level API takes less time because I don't have to spend time > learning how this JDO implementation works with the Google's datastore > and debugging when it doesn't work the way I'm trying to get it to > work. > > Each entity in the Low Level API takes a bit of developer overhead. > For instance, each EntityWrapper has a method to convert from an > Iterable of Low Level Entities to an Iterable of instances of my > wrapper. Google Collections is useful here. The norm is to execute a > Query which returns an Iterable<Entity> and use Google Collection's > Iterables.transform() to convert the list to Iterable<MyClassWrapper>. > > Each property in the Low Level API has a bit of overhead. Basically > there are get/set methods for each property, and a constant for the > name of the column that is used in both both the getter/setter, and > also for queries. > > It's not much at all, I recommend the Low Level API because JDO is a > complication that doesn't simplify anything. > > Using the Low Level API reduces productivity risks since hitting a > problem in JDO can take an unknown amount of time to resolve, however > the Low Level API gives you a known constant time to implement the > entity wrappers and properties. > > Other than productivity, I feel JDO code doesn't have the > expressiveness of the Low Level code. You find yourself with JDO code > adding annotations to influence the code, but these annotations don't > really say what you're trying to do. Also there is a mismatch between > JDO and datastore. JDO was designed for a regular relational > database, and can be made to work with the datastore, but there are > some cracks since datastore isn't quite a relational database. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
