www.jbmf.net > hiBErnAtE的CAsCADE问题

hiBErnAtE的CAsCADE问题

如果你只是在删除的时候做级联,把这个文件Classes.hbm.xml里的cascade设置为delete就行了.save-update的意思是使用save()、update()、saveOrUpdate()的时候做级联,all的意思是在save-update基础上加上delete().Classes.hbm.xml文件里的inverse设为true表示它们之间的关系由Student来维护.也就是说保存Student的时候必须保存Classes.

Inverse和cascade是Hibernate映射中最难掌握的两个属性.两者都在对象的关联操作中发挥作用.1.明确inverse和cascade的作用inverse 决定是否把对对象中集合的改动反映到数据库中,所以inverse只对集合起作用,也就是只对one-to-many或

cascade级联cascade[英][ksked][美][ksked]n.倾泻; 小瀑布,瀑布状物; 串联; vi.流注; 大量落下; 例句:1.Behind them waterfalls cascade down in the silvery light. 在他们身后,瀑布闪烁着银光飞泻而下.

楼上说的很对楼主你用session.delete(某个user就知道了);_____________________________________________哦不好意思,看错了楼主表了,userStatucs是parent,那就应该做主控方,inverse也不用改的true是对的,你的问题很奇怪啊,应该删的掉的,楼主有没有试验过呢,你把主表删了,子表里数据还在吗,有时候删除是批量删除的(一开始存在缓冲里,到达一定量才一起删除的,楼主你不要看控制台,以数据库为准)如果还不行lazy改为false试试,

1、你数据库表中有无 级联删除 on delete cascade2、一对多里面你设置inverse则为反转控制

你这个问题真不好回答,因为cascade=“all” 表示这个表做什么操作一定会关联到另一个表,如果写成sql的话 1个hql查询语句 就应该变成两个sql语句了

你有一个游离态的对象,你先调用add()什么的方式,将他们的关系建立起来,在用级联操作.关系都没有,有级联有怎么样

inverse的作用:在hibernate中是通过inverse的设置来决定是由谁来维护表和表之间的关系的.inverse的值有两种,“true”和“false”.inverse="false"是默认的值,如果设置为true 则表示对象的状态变化不会同步到数据库 ,设置成false则相反.cascade则描述的是层级之间的连锁操作方式,也就是一个对象的改变是否也要同步对其管理对象进行相应的操作.

错误的信息是 你要删除的信息 已经有外键关联到了这条记录要删除数据 首先要保证他关联的数据都删除了 才能删除他

invoerst 设置为true 为控制反转 交给另一方去添加数据cascade 为级联 属性为 delete, update, all, none 通常设置为 update

相关搜索:

网站地图

All rights reserved Powered by www.jbmf.net

copyright ©right 2010-2021。
www.jbmf.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com