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]>
