[JIRA] Created: (CAY-872) Potential bug deleting uncommited objects from a nested DataContext

From: Michael Gentry (JIRA) ("Michael)
Date: Thu Oct 04 2007 - 14:21:51 EDT

  • Next message: Michael Gentry: "Re: Bug in nested DataContext?"

    Potential bug deleting uncommited objects from a nested DataContext
    -------------------------------------------------------------------

                     Key: CAY-872
                     URL: https://issues.apache.org/cayenne/browse/CAY-872
                 Project: Cayenne
              Issue Type: Bug
              Components: Cayenne Core Library
        Affects Versions: 3.0
             Environment: OS X, Java 1.5
                Reporter: Michael Gentry
                Assignee: Andrus Adamchik
                Priority: Minor
                 Fix For: 3.0
             Attachments: ndc.tar.gz

    Quoting from e-mail list:

    DataContext childContext = parentContext.createChildDataContext();

    I have a Master and 3 Details (1-to-many) in the parent DC (in a
    committed state), and pull the Master into the nested DC using
    localObject(). If I then do the following:

    Master childMaster = (Master)
    childContext.localObject(parentMaster.getObjectId(), null);

    Detail d = (Detail) childContext.newObject(Detail.class);
    d.setXXXXXXXX(...); // do sets
    childMaster.addToDetails(d);

    childContext.commitChangesToParent();

    childContext.deleteObject(d);
    childMaster.removeFromDetails(d);
    childContext.commitChangesToParent();

    I get an exception on the last commitChangesToParent():

    Exception in thread "main" org.apache.cayenne.CayenneRuntimeException:
    [v.3.0M1 Jul 16 2007 22:25:33] Can't build a query for temporary id:
    <ObjectId:Detail, TEMP:000004B078EB2838>

    Is this to be expected? If I change commitChangesToParent() to
    commitChanges() it works ...

    See attached project for full code and test harness. To run, you'll need to adjust the DB connection information and generate the schema.

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Thu Oct 04 2007 - 14:22:21 EDT