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.