Re: Bug in auto-DC registration?

From: Kevin Menard (kmenar..ervprise.com)
Date: Tue May 02 2006 - 20:26:07 EDT

  • Next message: Marcin Skladaniec: "Re: [JIRA] Created: (CAY-538) Relationship not refreshed before committing the context."

    Will do.

    -- 
    Kevin
    

    On Tue, 02 May 2006 20:23:31 -0400, Andrus Adamchik <andru..bjectstyle.org> wrote:

    > Kevin, > > could you please check in a unit test that shows this problem - I'll > take a look. > > Andrus > > > On May 2, 2006, at 8:17 PM, Kevin Menard wrote: > >> Andrus, you'd probably be the best guy to answer this, but I'm going to >> throw it out there in general. For reasons lost to me now, with the >> old milestones, I'd have code like the following: >> >> final Blah b = (Blah) dc.createAndRegister(Blah.class); >> >> // Somewhere else. >> dc.unregisterObjects(Collections.singletonList(b)); >> >> // Somewhere else. >> b.setSomeRelation(yo); >> >> >> yo is registered with the DC, so setting the relationship should >> register b with the DC as well. I suspect I had the unregister call >> because at one point there were problems with registering a DO twice >> with the same DC. >> >> Anyway, the above causes an exception. I've spent the better part of >> the day tracking it down. It appears that when the insert occurs, the >> ID recorded for yo is null (so, the exception is a not-null constraint >> violation). Remove the unregisterObjects() call and everything works >> dandy. The problem seems to be the first time through all the >> ObjectDiffs get created fine. The second time through, however, there >> is no ArcOperation created for the relationship. >> >> So, is this a bug in how I'm doing things or in how Cayenne is? At >> this point, I'm going to remove the unregisterObjects() call, but it >> seems to me that if setting relationships will auto-register, it should >> set everything up identically. >> >> Thanks, >> Kevin >> >



    This archive was generated by hypermail 2.0.0 : Tue May 02 2006 - 20:26:33 EDT