我想知道iBatis是否可以像Hibernate支持的那样为懒惰提取提供支持?例如,我有User类,其中有
public class User {
List<Address> addresses;
public List<Address> getAddresses(){
return addresses;
}
...
}
现在我想在调用user.getAddresses()时实现延迟抓取。是否有可能在iBatis中实现这一目标?如果是,那么如何?
感谢您的帮助。
答案 0 :(得分:3)
不确定。
根据文档,您可以为要加载延迟的属性设置lazyLoad
的{{1}}元素的result
属性。
E.g:
resultMap
答案 1 :(得分:0)
XML映射:
3.2.7+-> fetchType属性(懒惰/渴望)
<resultMap id="itemResultMap" type="Item">
<id property="id" column="id"/>
<association property="subItem" column="subItemId" javaType="SubItem"
select="selectSubItemByIdQuery" fetchType="lazy"/>
</resultMap>
@注解映射:
@Select({"SELECT * FROM item WHERE id = #{id}"})
@Results({
@Result(property = "id", column = "id"),
@Result(property = "subItem", column = "subItemId", javaType = SubItem.class,
one = @One(select = "SubItemMapper.getById",
fetchType = FetchType.LAZY))
})
Item getById(int id);