当前位置: 首页 > news >正文

pdf做电子书下载网站优秀html5网站

pdf做电子书下载网站,优秀html5网站,银川网站设计建设,有哪些网站程序前言上一篇博文已经讲解了一对多和多对一之间的关系了#xff0c;一对多和多对一存在着关联关系(外键与主键的关系)。本博文主要讲解Inverse属性、cascade属性。这两个属性对关联关系都有影响Inverse属性Inverse属性#xff1a;表示控制权是否转移..true:控制权已转移【当前一…前言上一篇博文已经讲解了一对多和多对一之间的关系了一对多和多对一存在着关联关系(外键与主键的关系)。本博文主要讲解Inverse属性、cascade属性。这两个属性对关联关系都有影响Inverse属性Inverse属性表示控制权是否转移..true:控制权已转移【当前一方没有控制权】false控制权没有转移【当前一方有控制权】Inverse属性是在维护关联关系的时候起作用的。只能在“一”的一方中使用该属性Inverse属性的默认值为fasle也就是当前一方是有控制权的从一下的几个方面看看Inverse在维护关联关系时是否起作用保存数据获取数据解除关联关系删除数据对关联关系的影响保存数据将inverse属性设置为ture使dept没有控制权执行保存数据操作时发现Hibernate只执行了三条SQL语句。employee表的外键并没有数据结论如果设置控制反转,即inversetrue, 然后通过部门方维护关联关系。在保存部门的时候同时保存员工 数据会保存但关联关系不会维护。即外键字段为NULL查询数据设置inverse属性为true那么部门一方是没有控制权的。我们在查看数据的时候发现inverse属性对查询数据是没有影响的//查询出Dept对象Dept de (Dept) session.get(Dept.class, 1);System.out.println(dept.getDeptName());System.out.println(-----------);//用到的时候再查询数据库Hibernate的懒加载【后面会讲解】System.out.println(de.getSet());解除关联关系部门和员工是存在外键的联系的我们接下来看看inverse属性对于解除关联关系有没有影响当部门一方有权限时即inverse属性为false//查找部门id为1的信息Dept dept1 (Dept) session.get(Dept.class, 1);//清除关联信息dept1.getSet().clear();可以解除关联关系employee的外键字段被设置为NULL了当部门一方没有权限时即inverse属性为true//查找部门id为2的信息Dept dept1 (Dept) session.get(Dept.class, 2);//清除关联信息dept1.getSet().clear();不能解除关联关系删除数据对关联关系的影响当部门一方有权限时即inverse属性为false//查找部门id为2的信息Dept dept1 (Dept) session.get(Dept.class, 2);//删除部门2session.delete(dept1);当有控制权的时候可以删除数据先把外键设置为NULL再删除数据当部门一方没有权限时即inverse属性为true//查找部门id为1的信息Dept dept1 (Dept) session.get(Dept.class, 1);//删除部门1session.delete(dept1);直接抛出异常说该部门拥有外键不能删除数据cascade属性cascade表示级联的意思简单来说就是操作某一属性时对其他关联字段的影响casecade属性不像inverse属性只能在“一”的一方设置它可以在“一”的一方也可以在“多”的一方设置cascade有这么几个值none 不级联操作 默认值save-update 级联保存或更新delete 级联删除save-update,delete 级联保存、更新、删除all 同上。级联保存、更新、删除级联保存级联保存有什么用呢我们来看个例子如果在保存对象的时候没有把相关的对象也一并保存进数据库会出现错误。因为它会发现dept是有外键的而外键又是一个对象来保存着这个对象在数据库表中并没有存在因此会抛出异常//创建对象Dept dept new Dept();dept.setDeptName(开发部);Employee zs new Employee();zs.setEmpName(张珊);zs.setSalary(1111);Employee ls new Employee();ls.setEmpName(李四);ls.setSalary(2222);//维护关系dept.getSet().add(zs);dept.getSet().add(ls);//保存dept对象session.save(dept);如果我们在dept中设置了级联保存那么Hibernate就会知道保存dept的数据时发现dept了外键也把dept外键的对象保存在数据库之中级联删除级联删除这个对于我们来说风险太大了如果删除了某些数据会把另外有关联的数据也删除...在实际中我们一般不使用在没有设置级联删除的时候我们试试删除dept//删除部门为3的记录Dept dept1 (Dept) session.get(dept.getClass(), 3);session.delete(dept1);它会先把3的外键对应的记录删除再删除部门的数据在设置级联删除的时候我们试试删除dept级联删除数据//删除部门为4的记录Dept dept1 (Dept) session.get(dept.getClass(), 4);session.delete(dept1);我们发现数据相关联的数据都没有了cascade和inverse同时使用上面我们已经把cascade和inverse都介绍一遍了那么cascade和inverse同时使用会怎么样呢我们来测试一下设置dept没有控制权但设置级联保存、删除添加一个dept对象//添加一个dept对象session.save(dept);如果我们单单设置了inverse属性为true那么数据库中肯定是不能维护关联关系的【这里我们已经测试了】但是呢现在也设置了级联保存级联保存是否可以让该对象相关的关联关系一并保存在数据库中的。我们来看看结果inverse的优先级是比cascade的优先级要高的因此设置了inverse属性为true那么cascade就无效了。参考详细博文:总结上面的测试都是通过几个方面的看起来有点多因此我们总结一下inverse属性inverse属性只能在“一”的一方中设置。inversefalse表示有控制权inverseture表示没有控制权在保存关联信息时有控制权---可以保存相对应的关联数据没有控制权---数据会保存但是关联关系没有维护也就是外键列为NULL在查询数据时有无控制权对查询数据没有任何影响在解除关联关系时有控制权---可以解除关联关系没有控制权---不能解除关联关系不会生成update语句也不会报错在删除数据时对关联关系的影响有控制权---将外键的值设置为NULL随后删除数据没有控制权---如果删除的记录有被外键引用会报错违反主外键引用约束如果删除的记录没有被引用可以直接删除。多对多关系的时候也是一样的只不过多对多的关联关系是在中间表中cascade属性cascade有这么几个值none 不级联操作 默认值save-update 级联保存或更新delete 级联删除save-update,delete 级联保存、更新、删除all 同上。级联保存、更新、删除我们可能使用到的往往是save-update这个值因为级联删除的风险太大了级联保存没有设置级联保存--如果单单保存一个对象而对象又存在外键时那么就会抛出异常设置了级联保存--那么就可以将对象以及有关联关系的对象一并保存级联删除没有设置级联删除--在删除数据的时候会把外键的字段设置为NULL再删除当前一方的记录设置了级联删除--把对象有关联关系的记录都删除了如果cascade和inverse同时设置时inverse属性优先级是要比cascade要高的
http://www.pierceye.com/news/484020/

相关文章:

  • 上海h5网站开发网站建设在开封找谁做
  • 滨海建设局官方网站营销网络平台
  • 中国小康建设网是骗子网站吗?建设宁波市分行的互联网网站
  • 制造网站建设自己做游戏资讯网站
  • 网站建设质量如何衡量都江堰网站开发
  • 企业网站设计步骤中山制作网站的公司
  • 通化网站制作企信网官网查询入口
  • 无锡装修网站百科网站推广
  • 先做网站后付款怎么做网站弹窗通知
  • php做网站的分站学校网站开发价格
  • 静态动漫网站模板个人网站空间大小
  • 个人网站 如何做推广拓者设计吧官方网站
  • 农产品电子商务网站建设要求开发一款app软件需要多少钱
  • 仿微博网站模板织梦网站地图怎么做xml
  • 什么网站能买建设摩托车产品推广计划方案
  • 建设局网站买卖合同大连 商城网站制作公司
  • 网站开发实训意义湖州网站设计
  • 网站后台设置企业为什么要网站建设
  • 外贸网站推广平台有哪些怎么在亚马逊上开店铺
  • 网站模板下载简单的那种哪个网站可以做结婚请柬
  • 自建网站迁移wordpress 电影下载站
  • 深圳定制网站建设服务公司友情连接
  • 网络设计工资多少杭州seo网站排名优化
  • 免费空间申请网站网站开发技术联系方式
  • 增加访客的网站做网站 套用模板之后用什么改
  • 徐州企业网站排名优化建网站用什么浏览器
  • 大型网站频道的建设需多人协同开发网站建设产品中心
  • 学校网站建设状况好的建设网站
  • 庐江住房建设局网站做外汇关注的网站
  • 重庆市建设工程造价管理总站东莞网站包年优化