inverse和cascade的起作用的先后顺序是什么 ?

中国资深步行专家 2009-06-08 03:07:00
inverse和cascade的起作用的先后顺序是什么 ?
...全文
43 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs30085147 2009-06-08
  • 打赏
  • 举报
回复
作用域集合整体因该是inverse先,cascade是对于集合对象的某个元素,从内部看应该是cascade先起作用,不知道我这样说的对不..
  • 打赏
  • 举报
回复
一对多关系中 <Set> 中设置 inverse=false cascade=all-delete-orphan
删除set 中的内容,执行 seesion.flush();
更新操作第一步就是更新子表的键值为空(是在更新主表和子表的关联关系),然后,就报键值不能为空的错误 。

按照你的理论应该是先cascade,就是做级联删除,系统应该先删除失去关联关系的子表记录。这个和实际情况不相符。


从这个现象来看,应该是 先inverse 后 cascade.
不知道我的理解对不。

[Quote=引用 3 楼 cs30085147 的回复:]
cascade先,inverse后
[/Quote]
Landor2004 2009-06-08
  • 打赏
  • 举报
回复
他们之间没啥关系,一个是级联一个是是否维护关系,是互相协调,没有顺序一说

cascade是否多关联的表进行一些操作
inverse是否有该表来维护关系
cs30085147 2009-06-08
  • 打赏
  • 举报
回复
cascade先,inverse后
  • 打赏
  • 举报
回复
我问的是起的作用执行的先后顺序?


----------------------------------------------------------------


[Quote=引用 1 楼 cs30085147 的回复:]
这两个属性本身互不影响,但起的作用有些类似,都能引发对关系表的更新。
inverse只对set+one-to-many(或many-to-many)有效,对many-to-one, one-to-one无效。cascade对关系标记都有效。inverse对集合对象整体起作用,cascade对集合对象中的一个一个元素起作用,如果集合为空,那么cascade不会引发关联操作。
[/Quote]
cs30085147 2009-06-08
  • 打赏
  • 举报
回复
这两个属性本身互不影响,但起的作用有些类似,都能引发对关系表的更新。
inverse只对set+one-to-many(或many-to-many)有效,对many-to-one, one-to-one无效。cascade对关系标记都有效。inverse对集合对象整体起作用,cascade对集合对象中的一个一个元素起作用,如果集合为空,那么cascade不会引发关联操作。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧