簡體   English   中英

為什么在添加元素以設置多對多映射時,hibernate會從連接表中刪除行?

[英]Why is hibernate deleting rows from join table when adding element to set mapping many-to-many?

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實例相對應。

我怎么解決這個問題?

確保正確實現equals / hashCode 我有相同類型的映射(單向多對多),並且添加元素不會為連接表生成DELETE然后INSERT SQL語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM