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