ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nic Werner <wer...@sonoma.edu>
Subject Re: Object Oriented Loading Best Practice
Date Mon, 02 May 2005 18:09:58 GMT
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 <werner@sonoma.edu> 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.
>>
>>    
>>


Mime
View raw message