关于ibatis的关联查询 5

Department类的属性:Integerdid;Stringdname;DepartmentparentDepartment;List<Department>chil... Department类的属性:
Integer did;
String dname;
Department parentDepartment;
List<Department> childDepartment;

问题:怎么用ibatis在查询一个Department的时候,把它的上级部门和所以子部门一起查出来,下边图片中的写法会出现死循环,导致内存溢出,正确写法是什么,求解答
展开
 我来答
lwphk
2014-04-10
知道答主
回答量:9
采纳率:0%
帮助的人:3.6万
展开全部
部门和上级部门是放在一张表里面的?用parentId来做区分!(前台是个树桩图)如果是这样的有两种方式
第一种:全部查询出来,在在程序里面用递归来组合一维多维的集合或数组。(一次查询所有)
第二钟:一级一级的显示,点到一级在传id到后台查询子集(多次查询)
=============
<resultMap type="Distruct" id="result">
<id property="id" column="did"/>
<result property="name" column="dname"/>
<collection property="list" ofType="Street" column="d_id">
<id property="id" column="sid"/>
<result property="name" column="name"/>
</collection>
</resultMap>

<select id="findById" parameterType="int" resultMap="result">
select s.id sid,s.name,d.id did,d.name dname from street s,distruct d where d.id = s.d_id and d.id=#{id}
</select>

这个是我的一对多,没用什么延迟加载,一个联合查询。要用到collection 这个标签
嘿小子不要跑
2014-04-10 · TA获得超过128个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:69.3万
展开全部
直接把联合查询的SQL写出来不行么,我用的是myBatis
更多追问追答
追问
关键问题是怎么写啊,同时还要考虑,延迟加载的问题哦
追答
通过上级部门的id查么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应 | 问题解决率99% | 24小时在线
立即免费咨询律师
16775人正在获得一对一解答
福州梦中仙子3分钟前提交了问题
南昌湖上倒影2分钟前提交了问题
合肥云端漫步2分钟前提交了问题
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消
还有疑问? 马上咨询32226位在线律师,3分钟快速解答
立即免费咨询律师

辅 助

模 式