More likely it will result in something more like this: SELECT * FROM item INNER JOIN user_item ON item.item_id = user_item.item_id WHERE user_item.user_id = 'user'
But executing either query should produce precisely the same results (except that you'll be getting the columns from both tables, not just the columns from item). Look into the Criteria documentation on how you can limit your result set. -----Original Message----- From: Marc Lustig [mailto:[EMAIL PROTECTED]] Sent: Monday, January 20, 2003 3:40 PM To: Turbine Torque Users List Subject: AW: torque-performance using cross-references Thank you, that helped. So does this code Criteria c = new Criteria(); c.addJoin(UserItemPeer.ITEM_ID,ItemPeer.ITEM_ID); c.add(UserItemPeer.USER_ID,user); doSelect... result in that sql: "SELECT item.* FROM item,user_item WHERE user_item.user_id=x AND user_item.item_id=item.item_id" ? > -----Urspr�ngliche Nachricht----- > Von: Campbell, Justin [mailto:[EMAIL PROTECTED]] > Gesendet: Montag, 20. Januar 2003 19:54 > An: 'Turbine Torque Users List' > Betreff: RE: torque-performance using cross-references > > > Marc - > > You can definitely do this using Criteria without the need for a SQL > statement execution for each item in your user loop. > > Check out the join section in the Torque Criteria Howto: > http://jakarta.apache.org/turbine/torque/criteria-howto.html > > This is assuming you're familiar with SQL joins. If you're not, > let us know > :) > > Good luck, > Justin > > -----Original Message----- > From: Marc Lustig [mailto:[EMAIL PROTECTED]] > Sent: Monday, January 20, 2003 1:38 PM > To: Torque Users List > Subject: torque-performance using cross-references > > > Hi, > I have a general question regarding performance. > In my Torque-BO-model I have a lot of cross-references /foreign-keys. > For instance: > > TABLE user_item > user_id|item_id > > TABLE item > item_id|itemattribute > > Now what I need to do is getting all item's that belong to user x. > > The SQL would look like this: > "SELECT item.* FROM item,user_item WHERE user_item.user_id=x AND > user_item.item_id=item.item_id" > > > My current Java-code looke like this: > > Criteria c = new Criteria(); > c.add(UserItemPeer.USER_ID,user); > List list = UserItemPeer.doSelect(c); > List r = new ArrayList(); > for (int i=0;i<list.size();i++) { > r.add(((UserItem)list.get(i)).getItem()); > } > > As you see, this requires a single SQL-query for each entry in user_item. > Question: is it possible to this using a single Torque-method that makes a > single query the way I mentioned above? > > Or is the only way to drop a JDBC Statement? > > Thanks. > Marc > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
