problems in setting reverse relationship

From: Marcin Skladaniec (marcin.skladanie..cu.edu.au)
Date: Sun May 10 2009 - 21:23:22 EDT

  • Next message: Andrey Razumovsky: "Re: problems in setting reverse relationship"

    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



    This archive was generated by hypermail 2.0.0 : Sun May 10 2009 - 21:30:16 EDT