good idea! > -----Original Message----- > From: Mark Rowell [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 20, 2003 1:04 PM > To: 'OJB Users List' > Subject: RE: Problem with prefetched relationships on extents (and a > fix!) > > > Hi again > > As an addition to this email, would it not be better to have a factory > method on PersistenceBroker that could construct > a new Identity given an object? > > Mark > > -----Original Message----- > From: Mark Rowell [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 20, 2003 12:02 PM > To: '[EMAIL PROTECTED]' > Subject: Problem with prefetched relationships on extents (and a fix!) > > > Hi > > I had a problem with prefetched relationships for > collections, where the > owner of a collection in a relationship is a class that is part of an > extent. > It manifested itself by when I tried to access the collection > in an owner it > always had size of zero. I tracked down the problem to > CollectionPrefetcher > where > it gets the owner by identity using the foreign key in the > item class in the > collection. It was creating an instance of Identity using the real > class of the object whereas in RsIterator the owner instance > is cached using > the top level class in the extent (as the primary keys must > be unique across > all concrete classes in > an extent). Hence I change CollectionPrefetcher thus in the > associatedBatched method of CollectionPrefetcher: > > Existing line of code > > id = new Identity(getOwnerClassDescriptor().getClassOfObject(), > fkValues); > > Change it to > > id = new Identity( > getBroker().getTopLevelClass(getOwnerClassDescriptor().getClas > sOfObject()), > fkValues ); > > and collection prefetch should work for all types of owner > both concrete and > part of an extent. I havent checked the 1:1 relationship prefetcher. > > As a side not this analysis could have remifications for > other places in the > code where a new Identity() instance is created. > > Regards, > > Mark Rowell > > ---------------------------------------------------------------- > Mark Rowell > CreditTrade > > T: +44 (020) 7400 5078 > M: mailto:[EMAIL PROTECTED] > > CreditTrade Limited is regulated by the FSA. (c) CreditTrade 2002. All > rights reserved. The information and data contained in this email is > provided for the information purposes of the addressee only > and should not > be reproduced and/or distributed to any other person. It is > provided without > any warranty whatsoever and unless stated otherwise consists purely of > indicative market prices and other information. > > Any opinion or comments expressed or assumption made in > association with the > data or information provided in this email is a reflection of > CreditTrades > judgement at the time of compiling the data and is subject to change. > CreditTrade hereby makes no representation and accepts no > responsibility or > liability as to the completeness or accuracy of this email. > > The content of this email is not intended as an offer or > solicitation for, > or recommendation of, the purchase or sale of any financial > instrument, or > as an official confirmation of any transaction, and should > not be construed > as investment advice. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > CreditTrade Limited is regulated by the FSA. (c) CreditTrade > 2002. All rights reserved. The information and data contained > in this email is provided for the information purposes of the > addressee only and should not be reproduced and/or > distributed to any other person. It is provided without any > warranty whatsoever and unless stated otherwise consists > purely of indicative market prices and other information. > > Any opinion or comments expressed or assumption made in > association with the data or information provided in this > email is a reflection of CreditTrades judgement at the time > of compiling the data and is subject to change. CreditTrade > hereby makes no representation and accepts no responsibility > or liability as to the completeness or accuracy of this email. > > The content of this email is not intended as an offer or > solicitation for, or recommendation of, the purchase or sale > of any financial instrument, or as an official confirmation > of any transaction, and should not be construed as investment advice. > > --------------------------------------------------------------------- > 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]