yes,

seems to be an inconsistency in the FAQ...

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Thursday, March 20, 2003 9:53 AM
> To: [EMAIL PROTECTED]
> Subject: RE: how to send a real SQL query to OJB
> 
> 
> Hi again,
> 
> Sorry if I don't understand something but in the FAQ your 
> query is "SELECT A.Artikel_Nr FROM Artikel A, ...".
> With this query you don't produce full objects, so you 
> shouldn't use the method broker.getCollectionByQuery(...)?
> 
> Is it right?
> 
> Regards
> Sylvain
> 
> 
> -----Message d'origine-----
> De: Mahler Thomas [mailto:[EMAIL PROTECTED]
> Date: jeudi, 20. mars 2003 09:43
> À: 'OJB Users List'
> Objet: RE: how to send a real SQL query to OJB
> 
> 
> Hi again,
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, March 20, 2003 9:37 AM
> > To: [EMAIL PROTECTED]
> > Subject: RE: how to send a real SQL query to OJB
> > 
> > 
> > Hi Thomas,
> > 
> > That's OK.
> > But in the case of a ReportQueries, you can't use your "real" 
> > SQL query.
> 
> of course you can! That's what ReportQueries are meant for!
> try the following:
> String sql =
>          "SELECT A.Artikel_Nr FROM Artikel A, Kategorien PG"
>          + " WHERE A.Kategorie_Nr = PG.Kategorie_Nr"
>          + " AND PG.Kategorie_Nr = 2";
> 
> Query q = QueryFactory.newQuery(Article.class, sql);
> Iterator iter = broker.getReportQueryIteratorByQuery(q);
> 
> 
> > 
> > Is the example in FAQ still right if you consider your post?
> > FAQ example:
> > ----code----
> > String sql =
> >         "SELECT A.Artikel_Nr FROM Artikel A, Kategorien PG"
> >         + " WHERE A.Kategorie_Nr = PG.Kategorie_Nr"
> >         + " AND PG.Kategorie_Nr = 2";
> > // get the QueryBySQL
> > Query q2 = QueryFactory.newQuery(Article.class, sql);
> > 
> > Iterator iter2 = broker.getIteratorByQuery(q2);
> > // or
> > Collection col2 = broker.getCollectionByQuery(q2);
> > ----code----
> 
> This is not a RportQuery! The Methods 
> broker.getIteratorByQuery(q2) and 
> broker.getCollectionByQuery(q2)
> 
> will materialize full java instances.
> 
> hth,
> Thomas
> 
> > 
> > Thanks 
> > Sylvain
> > 
> > 
> > -----Message d'origine-----
> > De: Mahler Thomas [mailto:[EMAIL PROTECTED]
> > Date: jeudi, 20. mars 2003 09:29
> > À: 'OJB Users List'
> > Objet: RE: how to send a real SQL query to OJB
> > 
> > 
> > Hi Sylvain,
> > 
> > the methods broker.getCollectionByQuery(...) and
> > broker.getObjectByQuery(...)
> > return fully materialized objects.
> > Thus OJB expects a query fed into those method to contain all 
> > mapped columns
> > of the underlying table.
> > 
> > If you want to use Queries to not produce full objects but 
> > only a data view
> > as with your "select workstationName from Workstation" query,
> > you will have to use OJB ReportQueries.
> > Here is an example:
> > 
> > Criteria crit = new Criteria();
> > Collection results = new Vector();
> > 
> > ReportQueryByCriteria q = QueryFactory.newReportQuery(
> >                             ProductGroup.class, crit);
> > // define the 'columns' of the report
> > q.setColumns(new String[] { "groupName",
> >                             "sum(allArticlesInGroup.stock)",
> >                             "sum(allArticlesInGroup.price)" });
> > crit.addGroupBy("groupName");
> > 
> > Iterator iter = broker.getReportQueryIteratorByQuery(q);
> > 
> > HTH,
> > Thomas
> > 
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] 
> > [mailto:[EMAIL PROTECTED]
> > > Sent: Thursday, March 20, 2003 8:59 AM
> > > To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> > > Subject: RE: how to send a real SQL query to OJB
> > > 
> > > 
> > > Hi Armin,
> > > 
> > > I have seen the FAQ. Thanks.
> > > 
> > > But it doesn't work for me.
> > > 
> > > My SQL query is "select workstationName from Workstation".
> > > From my database query analyzer, this query retrieves 36 rows.
> > > 
> > > In OJB I try:
> > > ----code----
> > > String sql = "select workstationName from Workstation";
> > > 
> > > Query query = QueryFactory.newQuery(Workstation.class, sql);
> > > 
> > > try {
> > >   broker.beginTransaction();
> > >   Collection col = broker.getCollectionByQuery(query);
> > >                   
> > >   int size = col.size();
> > >   System.out.println(size);
> > > 
> > >   broker.commitTransaction();
> > > } catch (Throwable t) {
> > >   broker.abortTransaction();
> > >   t.printStackTrace();
> > > }
> > > ----code----
> > > 
> > > The problem is that the size of the collection is 0!
> > > OJB doesn't retrieve anything!
> > > 
> > > But if I try the query "select * from Workstation", it works!!
> > > 
> > > Have you an idea what's the problem?
> > > 
> > > I'm using OJB 0.9.5.
> > > 
> > > 
> > > Thanks
> > > Sylvain
> > > 
> > > 
> > > -----Message d'origine-----
> > > De: Armin Waibel [mailto:[EMAIL PROTECTED]
> > > Date: mercredi, 19. mars 2003 16:12
> > > À: OJB Users List
> > > Objet: Re: how to send a real SQL query to OJB
> > > 
> > > 
> > > Hi Sylvain,
> > > 
> > > see FAQ
> > > http://db.apache.org/ojb/faq.html
> > > 
> > > topic "Is it possible to perform my own sql-queries in OJB?"
> > > + "Can I directly obtain a java.sql.Connection within OJB?"
> > > 
> > > regards,
> > > Armin
> > > 
> > > ----- Original Message -----
> > > From: <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Wednesday, March 19, 2003 4:05 PM
> > > Subject: how to send a real SQL query to OJB
> > > 
> > > 
> > > Hello,
> > > 
> > > I have a String variable which contains a real SQL query 
> like this:
> > > "SELECT distinct(workstationName) FROM Workstation w, 
> > > WntWorkstation t,
> > > Package p, Package_Workstation r WHERE (w.workstationName 
> > like '%' or
> > > w.workstationName is NULL) order by w.workstationName"
> > > 
> > > How can I send this query (as written above) to OJB?
> > > 
> > > Thanks
> > > Sylvain
> > > 
> > > 
> > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > 
> > > 
> > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > 
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to