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

Reply via email to