On Mar 29, 2008, at 9:25 PM, Kevin Menard wrote:
Likewise, there may be a reason a user is mapping multiple relationships,
and in that case, I'd call the term "redundant" pejorative.

Ok, let's call them "overlapping" or something else. The important thing is what that means: there are two or more overlapping collections based on the same join condition. And this is a curse for object graph consistency. Users should create their own filter on top of a single most inclusive collection and stop mapping the overlapping ones ... or risk messed up object graph right away. I'd say this should be a warning in the modeler.

If Cayenne does not need the relationships that it is creating, however, those would be
redundant.  As near as I can tell, that is the case.

Ok, maybe to reduce the number of cases we need to analyze, why don't we stop this discussion, and work on reducing the number of runtime relationships created (hmm... I only see a single case: a to-many part of a 1..N), then see what harm is caused by the remaining ones.

If we want to go down the path of allowing multiple reverse relationships, I can lead the work up. I don't want you to think I'm trying to shell this off on you. I just don't want to be making large architectural changes
without someone else keeping me in check.

Yes, in order for us to keep consistent architecture, I feel like I'd have to be involved anyways. I don't think it is good for anybody if we have a set of diverging architectural visions in one product. Sounding like a control freak, but I don't see any other way around.

Andrus

Reply via email to