Can we see your config?

-----Original Message-----
From: Tom Duffey [mailto:[EMAIL PROTECTED] 
Sent: woensdag 27 september 2006 7:34
To: [email protected]
Subject: lazy loading confusion

Hi All,

I have a Project class with a list of Members.  It is my  
understanding that I can turn on lazy loading in my sql map config,  
define a Project result map like:

    <resultMap id="result" class="foo.Project">
         <result property="projectId" column="id"/>
         <result property="members" column="id"  
select="Member.listByProject"/>
     </resultMap>

and then retrieve a project and the members will not be retrieved  
unless I call getMembers() on the project instance.  Is this how it's  
supposed to work?  What I'm finding is that the members list is  
populated even if I do not call getMembers().  To back this idea I  
renamed the property in the result map to "members2" and added a new  
members2 attribute to the project class (To make sure I didn't miss  
any calls to getMembers) and sure enough it is still populated when I  
retrieve the project.

What gives?  I thought the point of lazy loading was to not load data  
unless I ask for it.  I'm using iBATIS 2.1.7 for Java.

Best Regards,

Tom Duffey

Reply via email to