Is siteId mapped to SITEID? or to SITE_ID?
You may need to explicitly specify which columns and types are mapped
to which ObjAttributes in Site.
String sql = "select "
+ " #result('g.ID' 'long' 'ID'),"
+ " #result('g.SHORT_NAME' 'String' 'SHORT_NAME'),"
+ " from GROUP g" + [...];
I wouldn't think that'd be required as I've had it work without doing that:
String sqlString = "select b.* from billdata b" + [...];
SQLTemplate sqlTemplateQuery = new SQLTemplate(BillData.class,
sqlString, true);
On 6/17/08, Eric Polino <eri..ampgroundautomation.com> wrote:
> Alright, I'm using SQLTemplate to do a query and I'm having issues
> when Cayenne tries to map it to a java object. The db entity is
> called Site, but the java entity is called DBSite. This is because we
> have a java class called Site that is a simple bean that we use to
> send across our WS layer.
>
> /* Java Code */
> String sql = "select * from Site where " +
> "siteType = (select typeid from SiteType where
> typeName='$SITETYPE') and " +
> "campground = $CAMPGROUND and " +
> "not exists (select * from Reservation where site=Site.siteId
> and campground=$CAMPGROUND and " +
> "checkInDate < '$CHECKOUT' and checkOutDate > '$CHECKIN')";
> SQLTemplate tmpl = new SQLTemplate(DBSite.class, sql);
> tmpl.setParameters(params);
> List<DBSite> sites = context.performQuery(tmpl);
>
>
> /* Backtrace */
>
>
> [#|2008-06-17T11:28:34.415-0400|INFO|sun-appserver9.1|org.apache.cayenne.access.QueryLogger|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-1;|---
> will run 1 query.|#]
>
> [#|2008-06-17T11:28:34.416-0400|INFO|sun-appserver9.1|org.apache.cayenne.access.QueryLogger|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-1;|---
> transaction started.|#]
>
> [#|2008-06-17T11:28:34.562-0400|INFO|sun-appserver9.1|org.apache.cayenne.access.QueryLogger|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-1;|select
> * from Site where siteType = (select typeid from SiteType where
> typeName='Sniper Range') and campground = 4 and not exists (select *
> from Reservation where site=Site.siteId and campground=4 and
> checkInDate < '2008-12-18' and checkOutDate > '2008-12-01')|#]
>
> [#|2008-06-17T11:28:34.646-0400|INFO|sun-appserver9.1|org.apache.cayenne.access.QueryLogger|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-1;|===
> returned 3 rows. - took 84 ms.|#]
>
> [#|2008-06-17T11:28:34.647-0400|INFO|sun-appserver9.1|org.apache.cayenne.access.QueryLogger|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-1;|+++
> transaction committed.|#]
>
> [#|2008-06-17T11:28:34.674-0400|SEVERE|sun-appserver9.1|com.sun.xml.ws.server.sei.EndpointMethodHandler|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=dd5b3326-7115-4b3c-87d1-beb96d64e025;|[v.3.0M2
> Oct 23 2007 13:00:44] Null value for 'siteId'. Snapshot:
> org.apache.cayenne.DataRo..00e1b3c[values={SITEDESC=Sniper Range 1,
> SITEBASICRATE=30.0, SITENAME=sniper1, SITENOTES=, CAMPGROUND=4,
> SITEID=105, SITELENGTH=null, SITETYPE=12},
> version=-9223372036854775550, replaces=-9223372036854775808]. Prefix:
> null
> org.apache.cayenne.CayenneRuntimeException: [v.3.0M2 Oct 23 2007
> 13:00:44] Null value for 'siteId'. Snapshot:
> org.apache.cayenne.DataRo..00e1b3c[values={SITEDESC=Sniper Range 1,
> SITEBASICRATE=30.0, SITENAME=sniper1, SITENOTES=, CAMPGROUND=4,
> SITEID=105, SITELENGTH=null, SITETYPE=12},
> version=-9223372036854775550, replaces=-9223372036854775808]. Prefix:
> null
> at org.apache.cayenne.access.ObjectResolver.createObjectId(ObjectResolver.java:280)
> at org.apache.cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java:206)
> at org.apache.cayenne.access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:120)
> at org.apache.cayenne.access.ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java:100)
> at org.apache.cayenne.access.DataDomainQueryAction.interceptObjectConversion(DataDomainQueryAction.java:464)
> at org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:129)
> at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:746)
>
>
>
> --
> Eric Polino
> Campground Automated Systems
>
This archive was generated by hypermail 2.0.0 : Tue Jun 17 2008 - 13:23:40 EDT