Erik,
You're right. Castor has limitation on inheritance structure like that. Thomas -----Original Message----- >From: Erik Gollot [mailto:[EMAIL PROTECTED]] >Sent: Thursday, November 15, 2001 12:15 AM >To: [EMAIL PROTECTED] >Subject: Re: [castor-dev] Class cast and child class > >You mean that we cannot retrieve child classes usin an OQL statement that >query the parent class ? > >If yes, it will be difficult to use Castor to persist the following >situation : > > 1 * > A ----- D > | | > --- --- > B C E F > >B & C inherit from A, E & F inherit from D, an association 1-N exist >between >A & D, I map all classes into a table (6 tables). > >I'm wrong with the Castor mechanism ? > > >-----Original Message----- >>Date: Thu, 8 Nov 2001 14:31:07 -0800 >>From: "Thomas Yip" <[EMAIL PROTECTED]> >>Subject: RE: [castor-dev] Class cast and child class > >>The jdoLoad() behavior is deprecated. The original support of polymorphic >method is removed. >>Please search the mail archive. > > >>Thomas > > >>-----Original Message----- >>>From: Gollot [mailto:[EMAIL PROTECTED]] >>>Sent: Thursday, November 08, 2001 6:20 AM >>>To: [EMAIL PROTECTED] >>>Subject: [castor-dev] Class cast and child class >>> >>>Hello, >>> >>>I tried, using the Castor JDO example, to load all Product objects >(Product >>>class) and to cast some of same into Computer class which is a derived >class >>>of the Product class. >>> >>>I tried this with this code : >>> >>>OQLQuery allProductsQuery = db.getOQLQuery("SELECT p FROM myapp.Product >>>p"); >>> boolean isComputer = false; >>> >>> results = allProductsQuery.execute(); >>> while (results.hasMore()) { >>> product = (Product)results.next(); >>> if (product.getId() == 6) // 6 is a computer >>> isComputer = true; >>> writer.println(product.getId() + " : is a " + >>>product.getName() ); >>> if (isComputer) { >>> Computer comp = (Computer)product; >>> writer.println(" CPU : " + comp.getCpu()); >>> } >>> >>>In th jdoLoad method of Product class, a test is done on the name of the >>>product and if this name is a PC name, Computer.class is returned. >>> >>>The previous code does not work !! >>> >>>How can i do that ? >>> > > >========================================================================= >Ce message et toutes les pi�ces jointes sont propri�t� de VALTECH et >susceptibles de contenir des informations confidentielles � l'intention >exclusive de ses destinataires. Si vous avez re�u ce message par erreur >ou si celui ci vous est parvenu incomplet ou alt�r�, merci d'en avertir >l'exp�diteur par retour.Toute utilisation, diffusion ou publication non >express�ment autoris�e par nous par �crit est strictement interdite. > -------------------------------------------------------------------------- >This message and any attachments are Valtech property and may contain >iconfidential information intended solely for the addressees. If your are >not the intended recipient of this message or if you have received it >uncomplete or altered, please notify the author by replying to his e-mail >immediately. Any unauthorised use, diffusion or dissemination not >expressly authorised by us in writing is strictly prohibited. >========================================================================= >Copyright Valtech 2000 > >----------------------------------------------------------- >If you wish to unsubscribe from this mailing, send mail to >[EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
