使用包含自身的类的resultMap进入死循环


Department {
Department parentDepartment;
}

如果设置查询映射
<!--查看指定部门-->
<select id="selectDepartmentByPrimaryKey" resultMap="departmentResult" parameterClass="integer">
select DEPARTMENTID, SCHOOLID, PDEPARTMENTID,DEPARTMENTNAME, DEPARTMENTDESCRIBE, DEPARTMENTCODE
from S_DEPARTMENT
where DEPARTMENTID = #departmentId#
</select>

<resultMap id="departmentResult" class="org.dreamfly.core.model.Department">
<result property="departmentId" column="DEPARTMENTID"/>
<result property="school" column="SCHOOLID" select="selectSchoolByPrimaryKey"/>
<result property="pdepartment" column="PDEPARTMENTID" select="[color=red]selectDepartmentByPrimaryKey[/color]"/>
<result property="departmentName" column="DEPARTMENTNAME"/>
<result property="departmentDescribe" column="DEPARTMENTDESCRIBE"/>
<result property="departmentCode" column="DEPARTMENTCODE" />
</resultMap>

这样会导致查询进入死循环.查询会一直查找他的父部门类

解决方案

<resultMap id="departmentResult" class="org.dreamfly.core.model.Department">
<result property="departmentId" column="DEPARTMENTID"/>
<result property="school" column="SCHOOLID" select="selectSchoolByPrimaryKey"/>
<result property="pdepartment" column="PDEPARTMENTID" select="[color=red]selectParentDepartmentByPrimaryKey[/color]"/>
<result property="departmentName" column="DEPARTMENTNAME"/>
<result property="departmentDescribe" column="DEPARTMENTDESCRIBE"/>
<result property="departmentCode" column="DEPARTMENTCODE" />
</resultMap>

加上一个

<!--查询上级部门,不查询上级部门的上级部门-->
<select id="selectParentDepartmentByPrimaryKey" resultClass="org.dreamfly.core.model.Department" parameterClass="integer"
cacheModel="otherCodeCache">
select DEPARTMENTID, DEPARTMENTNAME, DEPARTMENTDESCRIBE, DEPARTMENTCODE
from S_DEPARTMENT
where DEPARTMENTID = #departmentId#
</select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值