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