I think I've seen something similiar. Is this the latest Cayenne build? Could you open a JIRA bug (and possibly provide a JUnit test)?
2009/5/11 Marcin Skladaniec <[email protected]> > Hello > > I have noticed a problem in ROP cayenne. It seems like the reverse > relationship is not set until the actual relation is faulted. > Simple example: > > this works correctly: > logger.warn(artist.getPaintings().size()); -> prints 0 > painting.setArtist(artist); > logger.warn(artist.getPaintings().size()); -> prints 1 > > this does not work correctly: > //logger.warn(artist.getPaintings().size()); -> commented out, no output > painting.setArtist(artist); > logger.warn(artist.getPaintings().size()); -> prints 0 > > Regardless of which of the examples are the objects are committed to db in > both cases, and all seems well after a new select query. > > > additionally for this setup I found another issue which might be related. > when calling artist.addToPaintings(painting) on client I get following > exception on server: > > [java] Caused by: java.lang.Exception: [v.3.0-SNAPSHOT > ${project.build.date} ${project.build.time}] Can't build a query for > relationship 'artist' for temporary id: <ObjectId:Painting, > TEMP:0000023B1C5C0005> > is that related? > > does anyone have any clues on what might be wrong? > I'm baffled with this one... > > Best regards > Marcin > > >
