在网上找到的方法:查看这里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//-------------------------------------Article.hbm.xml------------------------------------------ <bag name= "Lables"
table= "ArticleLable" >
<key column= "ArticleId" />
<many-to-many column= "LableId"
class = "Lable" ></many-to-many>
</bag>
//-------------------------------------Lable.hbm.xml------------------------------------------ <bag name= "Articles"
table= "ArticleLable" >
<key column= "LableId" />
<many-to-many column= "ArticleId"
class = "Article" ></many-to-many>
</bag>
|
分析:
解决的方法很简单:“在多对多中不需要配置任何lazy和casecade,也不需要中间表的关系”。
之前,我在Article.hbm.xml文件中添加了lazy=true和casecade=all,结果级联删除的时候把Lable表里的数据也删除了,所以多对多关联的时候去掉这两个属性就可以了。