ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niels Beekman" <n.beek...@wis.nl>
Subject RE: lazy loading confusion
Date Wed, 27 Sep 2006 06:41:20 GMT
Can we see your config?

-----Original Message-----
From: Tom Duffey [mailto:tduffey@utilivisor.com] 
Sent: woensdag 27 september 2006 7:34
To: user-java@ibatis.apache.org
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

Mime
View raw message