Suposse我有两个班级:
class A {
Set<B> bs
}
class B {
}
此映射:
<set name="bs" table="bs_tab" cascade = "save-update">
<key column="a_id />
<many-to-many column="b_id" class="B"/>
</set>
并像这样加入表:
bs_tab(
a_id, b_id, primary key(a_id, b_id)
)
当我向bs set添加一些元素然后调用Session.saveOrUpdate(一个实例)时,hibernate正在删除bs_tab中的所有行,这些行与添加新元素之前集合中的B实例相对应。
我该如何解决这个问题?
答案 0 :(得分:3)
确保正确实施equals
/ hashCode
。我有相同类型的映射(单向多对多),并且添加元素不会为连接表生成DELETE
然后INSERT
SQL语句。