It is possible to handle the incomplete circle situation, but in case of complete circle it becomes very very tricky. Imagine situation A1->B->C->A2 The correct (and only) insert order is A2, C, B, A1. But Cayenne can never support this currently, because it is insering all records of one entity at once (?).
2009/7/10 Andrus Adamchik <[email protected]> > Ok, so seems like my understanding is matching yours. Looks like a bug. > > Andrus > > > On Jul 10, 2009, at 11:36 AM, Andrey Razumovsky wrote: > > //dev >> There is no cycle between CDO, but there is cycle in DataMap between >> DbEntities. AshwoodEntitySorter sorts entities that were changed, not data >> objects. For entities in same circle comparison result is zero >> >> 2009/7/10 Andrus Adamchik <[email protected]> >> >> Let me see if I get this right... In this example there is obviously no >>> closed cycle. So you are saying AshwoodEntitySorter still assumes there >>> is >>> one, and gives up on ordering? Then this is a bug. >>> >>> Andrus >>> >>> >>> >>> On Jul 10, 2009, at 11:20 AM, Andrey Razumovsky wrote: >>> >>> Imagine references avaliable A->B->C->A >>> >>>> >>>> 1. Create dependant entity B >>>> 2. Create master entity A >>>> 3. b.setA(a) >>>> 4. Commit. >>>> >>>> C is even never used. >>>> >>>> >>> >>> >
