An incomplete list of things that are difficult or impossible with
JDO/JPA, but easy with Objectify/LowLevelAPI:

 * Partial indexes
 * Running multiple concurrent transactions, or (more likely) a
transaction + a nontransaction.  Because of GAE's transaction model,
this is actually necessary quite often.
 * Migrating your schema.  JDO/JPA is particularly brittle, you can't
even add primitive fields to a class.
 * Serializing your entities.  With JDO you must detach them
explicitly, with JPA (as implemented by DataNucleus) you simply can't.

In practice, the biggest difference after abandoning JDO/JPA is that
you will stop screaming loudly at your computer, annoying your
coworkers.

Jeff
(copied from the response to the same question on the objectify mailing list)

On Fri, Apr 1, 2011 at 4:50 AM, SkYlEsS <shou...@gmail.com> wrote:
> I have a question :
>
> What are the differences between JPA/JDO and low level API (and
> Objectify) in practice ? I read everywhere the low level API provides
> more flexibility, but there are never samples code or evidences to
> demonstrate it. So I'm wondering in which cases exactly, the low level
> API is useful ?
>
> Thanks in advance
>
> --
> 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 google-appengine-java@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine-java+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>

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

Reply via email to