db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Artur Z" <arte...@o2.pl>
Subject Re: doSelect with collections filled
Date Thu, 02 Sep 2004 09:42:54 GMT
>     Did you defined the foreign key relationship beetwen  Author and
> Book in your schema file?
> If yes, there should be protected method in BaseAuthorPeer
> doSelectJoinBooks() (or something like that). Write this method as
> public in AuthorPeer
> and than you can use it.


yes, I defined, but there is no such method
torque generated only method BaseBookPeer.doSelectJoinAuthor(...)
as far as I know torque generates only methods for accessing associations
(one), but not collections
if you want to access a collection you call author.getBooks(), and it reads
books from db, caches it and returns - it couses perfirmance issues (one db
call for each getXXXs() method)

how to solve it ?
how to query author table to get in return list of authors with ALREADY
INITIALIZED books collections ?

I found one solution in
http://www.mail-archive.com/torque-user@db.apache.org/msg01712.html
but is not handy and you operate on array of objects, not getXXXs() methods
and collections



----- Original Message -----
From: "Andras Balogh" <andras@reea.net>
To: "Apache Torque Users List" <torque-user@db.apache.org>
Sent: Thursday, September 02, 2004 10:25 AM
Subject: Re: doSelect with collections filled


> Hello,
>
>     Did you defined the foreign key relationship beetwen  Author and
> Book in your schema file?
> If yes, there should be protected method in BaseAuthorPeer
> doSelectJoinBooks() (or something like that). Write this method as
> public in AuthorPeer
> and than you can use it.
>     Notice that the join made by Torque when selecting authors and books
> is inner join
> so you won't have the authors who don't have at least a book.
> (can be changed i think to left outer join if you patch torque to
> support outer joins, see mail archive)
>
> Best regards,
> Andras.
>
> Artur Z wrote:
>
> >hello
> >
> >please help - I have a performance problem
> >there are two tables: Book and Author
> >I call AuthorPeer.doSelect(new Criteria()); - it returns all authors
> >now i want to print all authors and their books
> >on each author I must call author.getBooks();
> >every time I call this method a database is queried for books for this
> >author
> >and when there are 2000 authors, there will be 2000 calls to database,
which
> >of course takes much time
> >
> >the question is:
> >how to query author table to get in return list of authors with already
> >initialized books collections
> >
> >thanks a lot
> >
> >Artur
> >
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> >For additional commands, e-mail: torque-user-help@db.apache.org
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>



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


Mime
View raw message