Rangernian 2009-11-26 11:19
浏览 244
已采纳

hibernate级联更新没有删除从表未关联的数据

小弟在使用Hibernate级联更新的时候,发生以下情况:
TfZbTxZbDyDO关联了一个或多个TfZbTxZbDyWdDO A、B、c;
我想给他更新成关联B、c、D,调用saveOrUpdate方法执行成功,可是发现A数据根本没有删除。
变成了TfZbTxZbDyDO关联4个 A、B、c、D四个对象,A对象关联没有删掉。

TfZbTxZbDyWdDO 是一个中间表,只需要删除,如果是删除主表,从表会被删除,也就是级联删除和保存可以,就是更新的时候没有去掉多余的关联项。

Hibernate配置如下:






这个问题搞了好久,cascade设成其他也不行,不能用空字段,inverse=false也试了。请各位大侠 赐教!
[b]问题补充:[/b]
谢谢,但是我改成cascade="all-delete-orphan" 以后出现

: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: TfZbTxZbDyDO.tfZbTxZbDyWdDOes
正在想办法。

  • 写回答

1条回答 默认 最新

  • wanghaolovezlq 2009-11-26 11:33
    关注

    要这么配置的
    cascade="all-delete-orphan"

    参考文章
    http://www.lifevv.com/tenyo/doc/20070703111137656.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作