Return-Path: Delivered-To: apmail-db-ojb-dev-archive@www.apache.org Received: (qmail 38859 invoked from network); 28 Jan 2005 14:31:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 28 Jan 2005 14:31:11 -0000 Received: (qmail 5507 invoked by uid 500); 28 Jan 2005 14:31:10 -0000 Delivered-To: apmail-db-ojb-dev-archive@db.apache.org Received: (qmail 5478 invoked by uid 500); 28 Jan 2005 14:31:09 -0000 Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "OJB Developers List" Reply-To: "OJB Developers List" Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 5465 invoked by uid 99); 28 Jan 2005 14:31:09 -0000 X-ASF-Spam-Status: No, hits=1.6 required=10.0 tests=RCVD_BY_IP,RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gcjod-ojb-dev@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from main.gmane.org (HELO main.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.28) with ESMTP; Fri, 28 Jan 2005 06:31:08 -0800 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1CuX9H-000749-00 for ; Fri, 28 Jan 2005 15:31:03 +0100 Received: from 193.129.76.132 ([193.129.76.132]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 28 Jan 2005 15:30:59 +0100 Received: from mark.rowell by 193.129.76.132 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 28 Jan 2005 15:30:59 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: ojb-dev@db.apache.org From: Mark Rowell Subject: Re: Materialising the wrong type of object when prefetching relations hips where related class is part of extent Date: Fri, 28 Jan 2005 14:30:45 +0000 (UTC) Lines: 116 Message-ID: References: <7758957EB3E8D411B3D40002A5072006026B4D6B@ctldn03.credittrade.com> <224f3234050125100658b0df56@mail.gmail.com> <224f32340501261354777106cb@mail.gmail.com> <224f323405012703191c71acfd@mail.gmail.com> <224f3234050127124230f6beb6@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: main.gmane.org User-Agent: Loom/3.14 (http://gmane.org/) X-Loom-IP: 193.129.76.132 (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)) Sender: news X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Thomas Dudziak gmail.com> writes: > > Mhm, a couple of points: > > * A minor thing but you should not use the id-stuff for the field > descriptors but rather reference the foreignkey fields directly. Has > no bearance to your problem but anyway ... > > * Perhaps you should declare the ojbConcreteClass field in the whole > hierarchy of CreditDefaultSwap, i.e. even in Instrument. Likewise, it > might help if you duplicate Instrument's fields in the descriptor of > InstrumentModel. Or perhaps you don't need InstrumentModel's > descriptor ? Do you query for it (it is not used elsewhere in the > repository file) ? > > * I don't understand where in BasePrefetcher#prefetchRelationship an > access to a field descriptor might happen. Could you set a breakpoint > to the MetadataException and post where the exception is uttered and > what the context is ? > > Tom > Tom * I replaced field-id-ref with field-ref globally (no change) * I put ojbConcreteClass in InstrumentModel. Will put in Instrument I do not use instrument model and I do not query for it... so can I remove it an put fields into Instrument? So far, no change, I still get the exception real object != null ? true value = Senior value class java.lang.String java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set (UnsafeObjectFieldAccessorImpl.java:63) at java.lang.reflect.Field.set(Field.java:656) at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImplNew.s etValueFor(PersistentFieldDire ctAccessImplNew.java:216) at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImplNew.s et(PersistentFieldDirectAccess ImplNew.java:158) at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildOrRefreshObject (RowReaderDefaultImpl.java:121) at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom (RowReaderDefaultImpl.java:81) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet (RsIterator.java:443) at org.apache.ojb.broker.accesslayer.RsIterator.next (RsIterator.java:265) at org.apache.ojb.broker.accesslayer.ChainingIterator.next (ChainingIterator.java:322) at org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship (BasePrefetcher.java:107) at org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks (QueryReferenceBroker.java:329) at org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship (BasePrefetcher.java:113) at org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks (QueryReferenceBroker.java:329) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery (QueryReferenceBroker.java:167) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery (QueryReferenceBroker.java:233) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery (QueryReferenceBroker.java:253) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery (PersistenceBrokerImpl.java:1217) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery (DelegatingPersistenceBroker.java: 338) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery (DelegatingPersistenceBroker.java: 338) at com.credittrade.market.pc.baskets.BasketPriceLoader.fillOutReferenceLevels (BasketPriceLoader.java:97) at com.credittrade.market.pc.PriceLoaderAbstractImpl.fillOutLastTraded (PriceLoaderAbstractImpl.java:279) at com.credittrade.market.pc.PriceLoaderAbstractImpl.initialLoad (PriceLoaderAbstractImpl.java:62) at com.credittrade.market.pc.ClientPriceLoader$InitialLoad.execute (ClientPriceLoader.java:99) at com.credittrade.system.js.RPCTaskEntry.execute(RPCTaskEntry.java:63) at com.credittrade.system.js.TaskEntryProcessor.processEntry (TaskEntryProcessor.java:41) at com.credittrade.system.js.SpaceWorker$HandOff.run (SpaceWorker.java:230) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675) Sorry for the continuing hasslE.. Thanks Mark --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org