Given that the responsiblity of a PropertySearch object would then be to return a set of found Properties, I would have thought the best approach would be :
1. Have the PropertySearch query do one database hit which gets all 100 (for e.g) rows in to a rowset object. 2. The PropertySearch object would then be responsible for the creating a blank Property object, and mapping the values in the rowset to the attributes of the Property object. 3. Keep the created object in a collection (ArrayList for e.g) 4. Repeat for all rows in DB rowset 5. Return collection of Property objects when finished. Andy ----- Original Message ----- From: Andrew Myers <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, December 02, 2001 10:45 PM Subject: Design of Business Objects > Hi, > > This is not exactly a question related to Struts as such but it does relate to a Struts application I'm building. :) > > I have a search function that allows users to search for a Property via a street address. The business objects I have to support this are a "Property" object and a "PropertySearch" object. From my action class I call a method on the PropertySearch object which then will ultimately return an array of Property objects corresponding to those which match the search criteria. > > My question is this: > > Which object should take responsibility for the population of the Property objects with data from the database? It seems much better from an OO viewpoint to be able to pass the primary key into the constructor of the Property object and then call a helper method to populate the object. But this is inefficient if the search returns a large number of results. Eg. for 100 results there's 101 database hits (1 to get all the matching primary keys, and then 100 to populate each of the objects in turn). The other alternative is to have my initial query return all the data and then have a constructor on the Property object which takes about 25 parameters (ugly and perhaps not very reusable, but more efficient?) > > Does anyone have any thoughts on what the best practice is here? > > Thanks, > Andrew. > -- > > > > > __________________________________________________________________ > Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ > > Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ > > > -- > 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]>