Re: Query Issues

From: Mike Kienenberger (mkienen..mail.com)
Date: Tue Jun 17 2008 - 13:22:56 EDT

  • Next message: Neil Pierson: "Re: Configuring SSL"

    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