Comments inline ----- Original Message ----- From: <[EMAIL PROTECTED]>
> Hello, > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > I have just encountered a situation that I THINK is a bug in > > the Identity > > object. The equals method compares the topLevelClass, and I > > think it should > > be comparing the realClass. > > I think others have explained why this cannot work. > The realClass might be unknown when the identities are compared. > After digging through the code more, I now realize that this is the case. When materializing references, only the class specified in the reference-descriptor is known and usable for searching the cache. > > I'll try to explain my situation, and I HOPE that I can do so clearly. > > > > I have a class AB, which derives from abstract class A, and implements > > interface B. > > this is a case where the topLevelClass is not determined uniquely. > > I think OJB cannot handle this correctly. This problem is addressed, > too, in the current thread "Identity.realClass set to abstract class?!" > in the developers' list. > > As a workaround, you might wish to introduce an artificial > top-level class for each connected component of you inheritance tree. > Than this will be the topLevelClass for all references to classes > in that hierarchy. But watch out: depending on your mapping, this > may result in a serious loss of performance, because when resolving > a reference to an object of such a class, all tables of classes > of that object will have to be searched in. > We don't really like that idea ;-{ But this problem is a big issue for me right now, so I will be digging in more. I'll get back to the list when I (think) I have a solution. Thanks, Dave D > Olli > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
