I'm trying to run a query such as below - and get a null pointer exception,
I don't know how this can be as I check the attribute before the sql. Does
anyone have an idea why this would occur?
The attribute 'theRecording' is a Class Recording and is set in the xml file
below.
---------- Error ------------
java.lang.NullPointerException
at
org.exolab.castor.jdo.drivers.JDBCQueryExpression$Join.<init>(JDBCQueryExpre
ssion.java:521)
at
org.exolab.castor.jdo.drivers.JDBCQueryExpression.addInnerJoin(JDBCQueryExpr
ession.java:187)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.addJoinsForPathExpression(ParseTre
eWalker.java:916)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.getSQLExpr(ParseTreeWalker.java:11
51)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.getSQLExpr(ParseTreeWalker.java:10
70)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.getSQLExpr(ParseTreeWalker.java:10
70)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.addWhereClause(ParseTreeWalker.jav
a:973)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.createQueryExpression(ParseTreeWal
ker.java:812)
at
org.exolab.castor.jdo.oql.ParseTreeWalker.<init>(ParseTreeWalker.java:135)
at
org.exolab.castor.jdo.engine.OQLQueryImpl.create(OQLQueryImpl.java:274)
at
org.exolab.castor.jdo.engine.DatabaseImpl.getOQLQuery(DatabaseImpl.java:439)
at
com.vwfs.CustomerTrackedRecording.selectLikeRecordingArtist(CustomerTrackedR
ecording.java:185)
at
com.vwfs.CustomerTrackedRecording.select(CustomerTrackedRecording.java:136)
at com.vwfs.TestCastor.runTest2(TestCastor.java:136)
at com.vwfs.TestCastor.main(TestCastor.java:34)
Exception in thread "main"
---------- Query ------------
assert getRecording().getRecordingArtist().length() > 0 : "No artist set";
StringBuffer sb = new StringBuffer();
sb.append(sDefaultSQL);
sb.append(" WHERE theRecording.sRecordingArtist LIKE $1");
sb.append(" AND iTrackingTypeID = $2");
oql = database.getOQLQuery(sb.toString());
oql.bind("%" + getRecording().getRecordingArtist() + "%");
oql.bind(getTrackingType().getTrackingTypeID());
QueryResults results = oql.execute();
---------- XML ------------
<mapping>
<class name="com.vwfs.CustomerTrackedRecording"
identity="iTrackingTypeID iRecordingID iCustomerID">
<description>com.vwfs.CustomerTrackedRecording</description>
<map-to table="customer_tracked_recordings"
xml="customer_tracked_recordings" />
<field name="iCustomerID" type="integer" get-method="getCustomerID"
set-method="setCustomerID">
<sql name="customer_id" type="integer" />
<xml name="customer_id" node="element" />
</field>
<field name="iRecordingID" type="integer"
get-method="getRecordingID" set-method="setRecordingID">
<sql name="recording_id" type="integer" />
<xml name="recording_id" node="element" />
</field>
<field name="iTrackingTypeID" type="integer"
get-method="getTrackingTypeID" set-method="setTrackingTypeID">
<sql name="tracking_type_id" type="integer" />
<xml name="tracking_type_id" node="element" />
</field>
<field name="iDateTracked" type="date" get-method="getDateTracked"
set-method="setDateTracked">
<sql name="date_tracked" type="date" />
<xml name="date_tracked" node="element" />
</field>
<field name="iVersion" type="integer" get-method="getVersion"
set-method="setVersion">
<sql name="version" type="integer" />
<xml name="version" node="element" />
</field>
<!--
<field name="theTrackingType"
type="com.vwfs.CustomerTrackingType"
get-method="getTrackingType"
set-method="setTrackingType"
required="true">
<sql many-table="customer_tracking_types"/>
</field>
-->
<field name="theRecording"
type="com.vwfs.Recording"
get-method="getRecording"
set-method="setRecording"
required="true">
<sql many-table="recordings"/>
</field>
<!--
<field name="theCustomer"
type="com.vwfs.Customer"
get-method="getCustomer"
set-method="setCustomer"
required="true">
<sql many-table="customers"/>
</field>
-->
</class>
</mapping>
**********************************************************************************
The opinions expressed in this E-mail are those of the individual and
not necessarily the company. This E-mail and any files transmitted
with it are confidential and solely for the use of the intended recipients
**********************************************************************************
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev