Hello Lisandro, What I don't see is how you are retrieving the persisted object from the database. What does "unTorneo.getEquiposTorneo()" do?
Using JDO, I'm used to working with a PersistenceManager object and writing transactions with a template like this... // inject the PersistenceManager dependency private final Provider<PersistenceManager> pmp; ....<snip> PersistenceManager pm = pmp.get(); try { pm.currentTransaction().begin(); MyObject my = pm.getObjectById(MyObject.class, myId ); // update object here pm.currentTransaction().commit(); } catch (javax.jdo.JDOObjectNotFoundException e) { // logger.warning( "Object not found - id=" + myId ); pm.currentTransaction().rollback(); } finally { if (pm.currentTransaction().isActive()) { logger.severe("Database exception!! - id=" + myId ); pm.currentTransaction().rollback(); } } On Thu, Dec 30, 2010 at 4:43 AM, lisandro <lisandr...@gmail.com> wrote: > Hi! Ikai, I have tried but it me did not work: > I have tried but it me did not work. > The modified code: > > tx.begin(); > JDOHelper.makeDirty(unTorneo.getEquiposTorneo(), > "equiposTorneo"); > List<Equipo>listEquipos = unTorneo.getEquiposTorneo(); > unTorneo.setEquiposTorneo(listEquipos); > unTorneo.agregarEquipo(unEquipo); > pm.makePersistent(unTorneo); > tx.commit(); > > Thanks! > Regards > > On Dec 29, 4:58 pm, "Ikai Lan (Google)" > <ikai.l+gro...@google.com<ikai.l%2bgro...@google.com> > > > wrote: > > Objects are re-persisted if there are any fields that are marked "dirty". > > Sometimes, when you add objects to a collection property, since the > property > > reference may not be marked "dirty", it will not be repersisted when the > > PersistenceManager is closed. You can either: > > > > 1. Call JDOHelper.makeDirty(entity, field) to mark the field as dirty > > 2. Create a new, equivalent collection and point the equipos reference to > it > > 3. (98% sure this works) Change a value in another property, causing the > > entire Entity to be persisted (App Engine entities are persisted whole, > not > > piecemeal as you might do in a relational database) > > > > -- > > Ikai Lan > > Developer Programs Engineer, Google App Engine > > Blogger:http://googleappengine.blogspot.com > > Reddit:http://www.reddit.com/r/appengine > > Twitter:http://twitter.com/app_engine > > > > > > > > On Wed, Dec 29, 2010 at 6:53 AM, lisandro <lisandr...@gmail.com> wrote: > > > > > lisandrodc > > > View profile > > > More options Dec 29, 11:26 am > > > Hi! I have a problem with the persistence of an existing object > > > "Torneo" (with a empty collection of objects "Equipo"). > > > When I add elements to the collection and want to persist, > > > sometimes persist and sometimes not persist in the > > > datastore(Restarting the server of the application). The code of > > > example: > > > public void agregarEquipoConTorneo(Torneo unTorneo, Equipo unEquipo) > > > { > > > /*add Equipo with a existing "Torneo" in the > > > datastore, the "unTorneo"(param) class obtain with: > > > Torneo b = > > > pm.getObjectById(model.Torneo.class, idTorneo);*/ > > > Transaction tx = pm.currentTransaction(); > > > try { > > > tx.begin(); > > > unTorneo.agregarEquipo(unEquipo); > > > //add unEquipo to collection "equipos" > > > pm.makePersistentAll(unTorneo); > > > tx.commit(); > > > System.out.println("persistioTorneoConEquipo"); > > > } finally { > > > pm.close(); > > > if (tx.isActive()) { > > > tx.rollback(); > > > } > > > } > > > Does it design someone of what this one happening? > > > Thanks! > > > Regards > > > Lisandro > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Google App Engine" group. > > > To post to this group, send email to google-appengine@googlegroups.com > . > > > To unsubscribe from this group, send email to > > > google-appengine+unsubscr...@googlegroups.com<google-appengine%2bunsubscr...@googlegroups.com><google-appengine%2Bunsubscrib > e...@googlegroups.com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/google-appengine?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to google-appeng...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine+unsubscr...@googlegroups.com<google-appengine%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- -- A. Stevko =========== "If everything seems under control, you're just not going fast enough." M. Andretti -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.