请高手帮忙解释一下这是什么意思?我是初学者,看不懂

xiaopingguoer 2009-12-17 07:17:18
如果父对象被persist(),那么所有子对象也会被persist()

如果父对象被merge(),那么所有子对象也会被merge()

如果父对象被save(),update()或 saveOrUpdate(),那么所有子对象则会被saveOrUpdate()

如果某个持久的父对象引用了瞬时(transient)或者脱管(detached)的子对象,那么子对象将会被saveOrUpdate()

如果父对象被删除,那么所有子对象也会被delete()

除非被标记为cascade="delete-orphan"(删除“孤儿”模式,此时不被任何一个父对象引用的子对象会被删除), 否则子对象失掉父对象对其的引用时,什么事也不会发生。 如果有特殊需要,应用程序可通过显式调用delete()删除子对象。

最后,注意操作的级联可能是在调用期(call time)或者写入期(flush time)作用到对象图上的。所有的操作,如果允许,都在操作被执行的时候级联到可触及的关联实体上。然而,save-upate和delete-orphan是在Session flush的时候才作用到所有可触及的被关联对象上的。
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
boboo_2000_0 2009-12-18
  • 打赏
  • 举报
回复
楼主先写一些实例代码,打印出日志,然后慢慢就会体会到真正的含义。
bayougeng 2009-12-17
  • 打赏
  • 举报
回复
慢慢品吧,这个不是光听别人说就能清楚的。
你可以这样理解,hibernate把数据库隐射到内存中,你对内存对象所做的更改,将最终反映到数据库里。

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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