我的hibernate 组表的映射文件里配置了cascade="delete" inverse="true" mysql数据库里面也设置了外键的级 5

可为什么就是删除不了从表里面的数据了?hibernate执行的时候自动又加了一个外键的关联关系到数据库中的表中,但是hibernate加的这个外键没有级联,为noacti... 可为什么就是删除不了从表里面的数据了?hibernate执行的时候自动又加了一个外键的关联关系到数据库中的表中,但是hibernate加的这个外键没有级联,为noaction 怎么解决啊? 展开
 我来答
一眼万万年_
2011-05-06 · TA获得超过1355个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:172万
展开全部
既然删不掉,那应该就是某些表对从表有外键引用。
检查下你的配置文件是不是哪里写错了。
inverse="true"意思是把关系维护交给另一方,one-to-many的时候用得比较多,写在one-to-many标签内,把关系维护交给多的一方,有了这个,更新从表信息的时候,会级联更新主表信息,但是更新主表信息的时候,就不会级联更新从表。
我猜问题就出在invers="true"这里,而且外键就在这一行,inverse="true"把关系维护交给了另一方(引用外键的那一方),也就是更新当前这张表的时候不能级联更新另外那张表,但是另外那张表更新的时候能级联更当前这张表,但是要当前这张表的内容得先删除另一张表的内容,而inverse="true"导致删当前这张表的内容时不会先去删除另外一张表内容,就抛出了异常,所以,建议你删除inverse="true"试试。
百度网友a567e66
2011-05-05 · 超过30用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:90.8万
展开全部
hibernate执行的时候自动又加了一个外键的关联关系到数据库中的表中,这说明你配置2 个类之间的映射关系有问题,,如果你用反向工程拟可以看见有两个健,也就是这两个表 互为子表,级联操作只能删除子表,所以级联操作失败
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-05
展开全部
cascade=“all” all代表把所有对父对象进行保存/更新/删除会导致对(所有)子对象的保存/更新/删除。你试一下把all改成 none 看一下;

all : 所有情况下均进行关联操作。
none:所有情况下均不进行关联操作。这是默认值。
save-update:在执行save/update/saveOrUpdate时进行关联操作。
delete:在执行delete时进行关联操作。
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pegevun
2011-05-09 · TA获得超过691个赞
知道答主
回答量:683
采纳率:0%
帮助的人:0
展开全部
cascade=“all” all代表把所有对父对象进行保存/更新/删除会导致对(所有)子对象的保存/更新/删除。你试一下把all改成 none 看一下;

all : 所有情况下均进行关联操作。
none:所有情况下均不进行关联操作。这是默认值。
save-update:在执行save/update/saveOrUpdate时进行关联操作。
delete:在执行delete时进行关联操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoakun_
2011-04-30
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
cascade="all"
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式