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>
但上面的问题还是会出现,请问有人知道为什么会出现这种情况吗?如何解决? 展开
数据量大的时候,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>
但上面的问题还是会出现,请问有人知道为什么会出现这种情况吗?如何解决? 展开
2个回答
展开全部
展开全部
你的表设计有问题,应该要多建一个表作为关联表,把groupId和deptId这2个字段放在关联表里,就不会出现这个问题了。具体可以参照 http://lavasoft.blog.51cto.com/62575/39344
追问
DEPT单位表 id name
GROUP分组表 id name
DEPT_TO_GROUP就中间表 只有2个字段:DEPTID和GROUPID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询