spring hibernate 多对多中出现set不断循环的情况

单位dept表和分组group表,一个组可以有多个单位,一个单位可以在多个组。数据量大的时候,set<>中的数据出现了错误Debug后发现:读取dept的后会自动去找se... 单位dept表和分组group表,一个组可以有多个单位,一个单位可以在多个组。

数据量大的时候,set<>中的数据出现了错误

Debug后发现:读取dept的后会自动去找set<>groups,而set中的每一个group对象又去找set<dept>,就这样一直循环下去

下面是我仿照hibernate开发文档写的配置
class Dept{
....
Set<Group> groups;
get/set....
}

DEPT.hbm.xml配置
<set name="groups" table="DEPT_TO_GROUP" inverse="true" lazy="true">
<key column="DEPTID"/>
<many-to-many class="com.bean.Group" column="GROUPID" />
</set>
----------------------------------------------------------------------------------------
class Group{
....
set<Dept> depts;
get/set....
}

Group.hbm.xml配置
<set name="depts" table="DEPT_TO_GROUP" lazy="true">
<key column="GROUPID"/>
<many-to-many class="com.bean.Dept" column="DEPTID"/>
</set>

但上面的问题还是会出现,请问有人知道为什么会出现这种情况吗?如何解决?
展开
 我来答
hnhygkx1987
2013-12-24 · TA获得超过209个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:138万
展开全部
楼主 不是用HQL 关联的方式查询出来的吗? 怎么会出现死循环呢?

建议楼主看看这个文章:

http://www.2cto.com/kf/201204/126969.html
TOLOTOLO
2013-12-24 · 超过25用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:43.2万
展开全部
你的表设计有问题,应该要多建一个表作为关联表,把groupId和deptId这2个字段放在关联表里,就不会出现这个问题了。具体可以参照 http://lavasoft.blog.51cto.com/62575/39344
追问
DEPT单位表  id  name
GROUP分组表 id name
DEPT_TO_GROUP就中间表 只有2个字段:DEPTID和GROUPID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消

辅 助

模 式