cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Kienenberger" <mkien...@gmail.com>
Subject Re: Query Issues
Date Tue, 17 Jun 2008 17:22:56 GMT
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 <eric@campgroundautomation.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.DataRow@100e1b3c[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.DataRow@100e1b3c[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
>

Mime
View raw message