I still haven't figured this one out. Am I doing something wrong or there's a small bug in the JDO GAE implementation?
Btw, I saw all the documentation has been changed to LowLevelAPI. Will JDO loose support sometimes soon? Thanks, Cosmin On Mar 6, 5:07 pm, Cosmin Stefan <cosmin.stefandob...@gmail.com> wrote: > Hey, > > I cannot use a transaction as I need to change multiple entries (as u > see, for each BigClass participant i have to remove an object from the > collection). > > Regarding the pm.makePersistent() call, I have tried with it before > and it didn't do anything different. Plus that on the GAE > documentation page they say it's not needed, as the pm tracks all the > changes. > > I have discovered another thing related to this problem. As I've shown > you, in the same persistence call I try to do these (remove smth from > the collection) changes and I also modify other objects. The weird > fact is that the last changes I make are persisted, while the others > aren't. Why is that? > > Regarding JPA I'll look into it, but it's kind of difficult as I > already have a huge part of my code written with JDO. > > Anyway, looking forward to hearing new suggestions! > > Thanks, > Cosmin > > On Mar 1, 6:59 pm, Ian Marshall <ianmarshall...@gmail.com> wrote: > > > Hi Cosmin, > > > I do not see any calls to > > > pm.makePersistent(...); > > > I use this to persist newly-created persistent instances. > > > I know that you do not use transactions, but I do. Within an active > > transaction, one can update persistent instances and even persist or > > delete entity group child instances without calling > > > pm.makePersistent(...); > > > Have you looked at the GAE persistence blog of Max Ross of Google? > > There are some excellent working examples there... > > > Ian > > > On Feb 28, 6:55 pm, Cosmin Stefan <cosmin.stefandob...@gmail.com> > > wrote: > > > > So no ideea anyone? > > > > On Feb 25, 11:42 pm, Cosmin Stefan <cosmin.stefandob...@gmail.com> > > > wrote: > > > > > Hey, > > > > > I have an issue while trying to update one object in a collection, > > > > using JDO. > > > > > Here are the facts: > > > > o i have a class (let's call it BigClass), that has an embedded > > > > class(SmallClass) containing an ArrayList. > > > > o I DONT use/need a transaction > > > > o I query the database to get a List of BigClass items that should > > > > be modified. I iterate through each of them and I... > > > > o I remove an element from the list in the SmallClass embedded in > > > > the current BigClass, the changes are not ALWAYS persisted > > > > o if I print (log) the object after the change, it looks modified, > > > > but if i check the DataViewer, the object was not updated > > > > o i even tried using JDOHelper.makeDirty on the BigClass, with the > > > > fieldName SmallClass, and it still doesn't work. > > > > > Some relevant code: > > > > > Query q = > > > > pm.newQuery(BigClass.class,"id==:ids"); > > > > List<BigClass> > > > > participatingUsers=(List<BigClass>) > > > > q.execute(participantIDs); > > > > > //Update the participants > > > > ListIterator<BigClass> > > > > it=participatingUsers.listIterator(); > > > > BigClass participant; > > > > boolean modified; > > > > while(it.hasNext()) > > > > { > > > > participant=it.next(); > > > > participant.list.remove(smth); > > > > > JDOHelper.makeDirty(participant,"collection"); > > > > } > > > > .... > > > > modify other objects > > > > .... > > > > pm.close() > > > > > Another thing is that some of the changes I make after this part are > > > > persisted... > > > > > So, if you have any suggestions, shoot pls! > > > > > Cosmin -- 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.