The question is more whether I should let the chain of objects populate itself, or knowing A contains B contains C, populate them all in one call. The former is more object oriented, while the latter is more efficient.

I need to load all the child objects, but instead of having one Select block w/a ResultMap that calls the other Objects, I now have to write another query and create a new ResultMap for all three objects. Or maybe I can include other ResultMaps?

The downside I see to that is that if I change an attribute in object B or C, I have another query to update and ResultMap, whereas if I made the individual call I would only need to update the Bean and its related query.

The upside is of course, only one SQL call.

- Nic.

Brandon Goodin wrote:

If you have no need to load the child objects then don't use a complex
result in your resultMap.

Brandon

On 5/2/05, Nic Werner <[EMAIL PROTECTED]> wrote:


Hi,
   I have several objects in my program which have a bit of a
hierarchy, ie A contains B, B contains C and so on. Each table in the DB
is linked to each other by a foreign key on a unique ID. I have iBATIS
populating each Bean by using a resultMap and calling on the object's
Select statement to populate the encapsulated Bean. Meaning, if I try
and load info for B, it makes a call to the DB for B, and also for C.

My question is: Is this the best way to go about things? If I am loading
A, it is going to create a call for A,B and C, where normally (w/o
IBATIS) I would just create a statement that contained a join of all
three tables on their unique IDs - and only one DB call.

Let me know if I need to explain more.

Thanks,

- Nic.






Reply via email to