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]