You can only read or write from a single entity group in a
transaction.  Yet I often find that during the course of a transaction
I require multiple pieces of additional data that are not part of my
entity group.

For example, during Similarity's* login process I synchronize a lot of
data into your account.  Most of it comes from Facebook but some of it
relies on data that is cached locally in the datastore.  There's a
transaction that protects the update of your profile, but the "other
data" is not part of your entity group.  So I open an additional
non-transactional Objectify in the middle of my transaction, fetch the
relevant data, and carry on.

The thread-local transaction model that JPA/JDO inherited from EJB
assumes the flexibility of RDBMS transactions that let you touch any
piece of data you want.  That just doesn't work on appengine.

Jeff

* http://www.similarity.com/ (for the curious)

On Wed, Apr 6, 2011 at 2:59 AM, SkYlEsS <shou...@gmail.com> wrote:
> Hi Jeff'
>
> In fact, I'm not sure to understand what you means by “Because of GAE's
> transaction model, this is actually necessary quite often.” : what are the
> characteristics/limitations of GAE's transaction model you thinking about ?
>
> Thx
>
> --
> 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