You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Sng Wee Jim <ji...@singnet.com.sg> on 2003/08/28 17:37:02 UTC

QueryBySQL for ojb rc4

> Hi,
>
> Anyone encountered problem with using the query type: QueryBySQL?
>
> I am doing something like
>   QueryBySQL query1 = QueryFactory.newQuery(java.lang.Class, sql) ;
>   Iterator itr = broker.getIteratorByQuery(query1);
>
> however the while iterating through the resultset, the object returned 
> by the iterator are all null.
>
> I tried the same query with
>  Collection clt = broker.getCollectionByQuery(query1);
> but the size of the return collection is zero.
>
> The resultset of the SQL is not empty. (I ran the SQL in MySQL).
> Is it a bug, or do I need to set some properties?
>



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: QueryBySQL for ojb rc4

Posted by Roland Carlsson <ma...@javalia.se>.
Hi!
You sql-query must return ALL non-primary-key fields as defined in the
repository. If it is a bug or design-choice i don't know although I can
guess that it is a design-choice to keep objects complete as far as
posible.... Anyone knows??

Example:
<class-descriptor
      class="aClass"
      table="ATABLE"
   >
     <field-descriptor id="1"
         name="id"
         column="ID"
         jdbc-type="INTEGER"
         primarykey="true"
         autoincrement="true"
      />
      <field-descriptor id="2"
         name="anInteger"
         column="AINTEGER"
         jdbc-type="INTEGER"
      />
     <field-descriptor id="3"
         name="aString"
         column=""
         jdbc-type="VARCHAR"
      />
</class-descriptor>

Your sql must return anInteger and aString... it is not necesery that it
returns id. I guess that it can't demand the primary key if group-functions
is used.

----- Original Message ----- 
From: "Sng Wee Jim" <ji...@singnet.com.sg>
To: <oj...@db.apache.org>
Sent: Thursday, August 28, 2003 5:37 PM
Subject: QueryBySQL for ojb rc4


> > Hi,
> >
> > Anyone encountered problem with using the query type: QueryBySQL?
> >
> > I am doing something like
> >   QueryBySQL query1 = QueryFactory.newQuery(java.lang.Class, sql) ;
> >   Iterator itr = broker.getIteratorByQuery(query1);
> >
> > however the while iterating through the resultset, the object returned
> > by the iterator are all null.
> >
> > I tried the same query with
> >  Collection clt = broker.getCollectionByQuery(query1);
> > but the size of the return collection is zero.
> >
> > The resultset of the SQL is not empty. (I ran the SQL in MySQL).
> > Is it a bug, or do I need to set some properties?
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: QueryBySQL for ojb rc4

Posted by Roland Carlsson <ma...@javalia.se>.
Hi!
I just did a QueryBySQL and after a little work I got to the following
conclusion.

All non-primary-key fields MUST be returned by the query. Primay-key fields
may be returned but it not a requirerment.

I guess that it is a design-choice to force the developer to use as complete
objects as possible. You should not get objects where most fields are null
unless they are that in the database.

Regards
Roland Carlsson


----- Original Message ----- 
From: "Sng Wee Jim" <ji...@singnet.com.sg>
To: <oj...@db.apache.org>
Sent: Thursday, August 28, 2003 5:37 PM
Subject: QueryBySQL for ojb rc4


> > Hi,
> >
> > Anyone encountered problem with using the query type: QueryBySQL?
> >
> > I am doing something like
> >   QueryBySQL query1 = QueryFactory.newQuery(java.lang.Class, sql) ;
> >   Iterator itr = broker.getIteratorByQuery(query1);
> >
> > however the while iterating through the resultset, the object returned
> > by the iterator are all null.
> >
> > I tried the same query with
> >  Collection clt = broker.getCollectionByQuery(query1);
> > but the size of the return collection is zero.
> >
> > The resultset of the SQL is not empty. (I ran the SQL in MySQL).
> > Is it a bug, or do I need to set some properties?
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org