Bug in auto-DC registration?

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

  • Next message: Andrus Adamchik: "Re: Bug in auto-DC registration?"

    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:18:14 EDT