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