Re: SQLTemplate doing something differently?

From: Eric Schneider (eri..entralparksoftware.com)
Date: Mon May 24 2004 - 13:26:25 EDT

  • Next message: Bryan Lewis: "read-only entities"

    Jeez, that was simple. Thanks Andrus!

    e.

    ----- Original Message -----
    From: "Andrus Adamchik" <andru..bjectstyle.org>
    To: <cayenne-use..bjectstyle.org>
    Sent: Monday, May 24, 2004 12:33 PM
    Subject: Re: SQLTemplate doing something differently?

    > Hi Eric,
    >
    >
    >
    > > org.objectstyle.cayenne.CayenneRuntimeException
    > > [v.1.1M6 April 25 2004] Null value for 'GAMENUMBER'. Snapshot:
    > > org.objectstyle.cayenne.DataRo..7b35d[version=
    > > -9223372036854775130,values={
    > > PERIOD3GOALS=9, OVERTIMEGOALS=1, PERIOD1GOALS=10, PERIOD2GOALS=9}]
    > > Stack Trace:
    > > org.objectstyle.cayenne.DataRow.createObjectId(DataRow.java:198)
    > > org.objectstyle.cayenne.DataRow.createObjectId(DataRow.java:173)
    >
    > There are two related differences between SqlSelectQuery and
    > SQLTemplate:
    >
    > 1. SqlSelectQuery always fetches data rows; SQLTemplate fetches
    > DataObjects by default and can be configured to fetch DataRows by
    > calling "setFetchingDataRows(true)".
    >
    > 2. "Root" of SqlSelectQuery was used to find correct DataNode, and
    > otherwise was meaningless; root of SQLTemplate defines a class of
    > objects, just like in a normal SelectQuery (unless you fetch data rows
    > of course).
    >
    >
    > > Select p1g.PERIOD1GOALS, p2g.PERIOD2GOALS, p3g.PERIOD3GOALS,
    > > otg.OVERTIMEGOALS
    >
    > So whatever class you used as a query root has GAMENUMBER as one of
    > the PK columns. Since this column is missing from the result set,
    > Cayenne throws an exception. If you don't care about having an object
    > and can use a data row, just call "setFetchingDataRows(true)" on the
    > query, otherwise add all missing columns to the "SELECT ..." part of
    > your SQLTemplate.
    >
    > Andrus



    This archive was generated by hypermail 2.0.0 : Mon May 24 2004 - 13:26:22 EDT