当前位置:编程学习 > JAVA >>

hibernate 多对多中间表问题

利用hibernate来处理多对多关系时出现了一个诡异的问题

实体A{id:1,name:a}
实体B{id:1,name:b}

A和B的关系是多对多,在保存了A,B对象之后则会在中间表a-b中插入A,B的对应关系
a-b中间表
a b 
1 1
问题来了 ,如果再设置A和另外一个B实体的关系 如:
实体A{id:1,name:a}
实体B{id:2,name:b-2}
中间表会保存A,B2的对应关系 但是把原来A,B的关系删除了
a-b中间表
a b 
1 2

这个问题到底是怎么引起的啊 Hibernate --------------------编程问答-------------------- 这么神奇
话说干嘛要用多对多哦,貌似不是很符合开发规范啊。 --------------------编程问答-------------------- 权限 角色 不用多对多咋搞啊 --------------------编程问答-------------------- 在hibernate的配置文件中修改这个试试<property name="hbm2ddl.auto">update</property>   --------------------编程问答-------------------- 不行啊,发出的sql一开始就删除了关联数据 --------------------编程问答-------------------- 你这思路有问题,你加载A,然后往A中setB肯定是这样的了,B只是A的一个属性,不更改才怪了,A中的B应该是个List,你要加新的B应该是list.add(B),然后,A.save(List).
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,