Return-Path: Delivered-To: apmail-db-ojb-user-archive@www.apache.org Received: (qmail 87499 invoked from network); 21 Aug 2004 10:21:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 21 Aug 2004 10:21:21 -0000 Received: (qmail 37446 invoked by uid 500); 21 Aug 2004 10:21:14 -0000 Delivered-To: apmail-db-ojb-user-archive@db.apache.org Received: (qmail 37363 invoked by uid 500); 21 Aug 2004 10:21:10 -0000 Mailing-List: contact ojb-user-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "OJB Users List" Reply-To: "OJB Users List" Delivered-To: mailing list ojb-user@db.apache.org Received: (qmail 37307 invoked by uid 99); 21 Aug 2004 10:21:09 -0000 X-ASF-Spam-Status: No, hits=-2.8 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.27.1) with SMTP; Sat, 21 Aug 2004 03:21:05 -0700 Received: (qmail 87451 invoked from network); 21 Aug 2004 10:21:02 -0000 Received: from localhost.hyperreal.org (HELO ?127.0.0.1?) (127.0.0.1) by localhost.hyperreal.org with SMTP; 21 Aug 2004 10:21:02 -0000 Message-ID: <41272223.5060307@apache.org> Date: Sat, 21 Aug 2004 12:21:23 +0200 From: Armin Waibel User-Agent: Mozilla Thunderbird 0.7.3 (Windows/20040803) X-Accept-Language: en-us, en MIME-Version: 1.0 To: OJB Users List Subject: Re: SqlQueryStatement.splitCriteria -> NullPointerException References: <4CCA53563257AC478E6F764AC6CD081604D086E6@nihexchange11.nih.gov> <412720C7.9080109@gmx.ch> In-Reply-To: <412720C7.9080109@gmx.ch> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: localhost.hyperreal.org 1.6.2 0/1000/N X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi Jakob, Joshua, made a test with a modified version of QueryTest#testReportQueryExtent against AbstractArticle.class. This test pass. Maybe BaseInterface.class did not declare extents in repository? regards, Armin J.Braeuchi wrote: > hi joshua, > > what version of ojb are you using ? > is it ok to use hashcode 0 if no table is available. > > jakob > > Phillips, Joshua (NIH/NCI) schrieb: > >> The collection-descriptor for an abstract class does not have a table >> attribute. So, when SqlQueryStatement.splitCriteria is called, a >> NullPointerException is thrown when it tries to put the root >> TableAlias into >> the m_jointTreeToCriteria HashMap, because >> SqlQueryStatement.TableAlias.hashCode looks like this: >> >> public int hashCode() { >> return table.hashCode(); >> } >> >> ...and table is null. >> >> The code that I used to produce this error looks like this: >> >> PersistenceBroker pb = PersistenceBrokerFactory >> .defaultPersistenceBroker(); >> Criteria subCrit = new Criteria(); >> subCrit.addEqualTo("id", new Long(1)); >> ReportQueryByCriteria assocPBQ = QueryFactory.newReportQuery( >> BaseInterface.class, subCrit); >> assocPBQ.setAttributes(new String[] { "id" }); >> Criteria crit = new Criteria(); >> crit.addIn("base.id", assocPBQ); >> QueryByCriteria q = (QueryByCriteria) QueryFactory.newQuery( >> BaseAssocInterface.class, crit, true); >> Collection c = pb.getCollectionByQuery(q); >> >> The stack trace looks like this: >> >> Caused by: java.lang.NullPointerException >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$TableAlias.hashCode( >> >> Unknown Source) >> at java.util.HashMap.hash(HashMap.java:261) >> at java.util.HashMap.put(HashMap.java:379) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.splitCriteria(Unknow >> >> n Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.(Unknown >> Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlSelectStatement.(Unknown >> Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.getSubQuerySQL(Unkno >> >> wn Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendSubQuery(Unkno >> >> wn Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendParameter(Unkn >> >> own Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendInCriteria(Unk >> >> nown Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendCriteria(Unkno >> >> wn Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendSQLClause(Unkn >> >> own Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.asSQLStatement(Unkno >> >> wn Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendClause(Unknown >> >> Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendWhereClause(Un >> >> known Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlSelectStatement.getStatement(Unknow >> >> n Source) >> at >> org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.getPreparedSel >> >> ectStatement(Unknown Source) >> at >> org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown >> Source) >> at >> org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown >> Source) >> at org.apache.ojb.broker.accesslayer.RsIterator.(Unknown >> Source) >> at >> org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown >> Source) >> at >> org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unkn >> >> own Source) >> at >> org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknow >> >> n Source) >> at >> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown >> >> Source) >> ... 20 more >> >> Joshua Phillips >> Contractor (SAIC) >> Tel: 301 451 6346 >> Fax: 301 480 4222 >> phillijo@mail.nih.gov >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org >> For additional commands, e-mail: ojb-user-help@db.apache.org >> >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org > For additional commands, e-mail: ojb-user-help@db.apache.org > > > --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For additional commands, e-mail: ojb-user-help@db.apache.org