1)inverse中提及的side其实是指一个类或者表的概念,双向关联其实是指双方都可以取得对方的应用。
2)维护关系这个名词还是稍显模糊或者晦涩。我们一般说A类或者A表(这里的表的是指多对多的连接表)有责任维护关系,其实这里的意思是说,我在应用在更新,创建,删除(读就不用说了,双向引用正是为了方便读而出现)A类或者A表时,此时创建的SQL语句必须有责任保证关系的正确修改。
3)inverse=false的side(side其实是指inverse=false所位于的class元素)端有责任维护关系,而inverse=true端无须维护这些关系。
4)我们说inverse设立不当会导致性能低下,其实是说inverse设立不当,会产生多余重复的SQL语句甚至致使JDBC exception的throw。这是我们在建立实体类关系时必须需要关注的地方。一般来说,inverse=true是推荐使用,双向关联中双方都设置inverse=false的话,必会导致双方都重复更新同一个关系。但是如果双方都设立inverse=true的话,双方都不维护关系的更新,这也是不行的,好在一对多中的一端:many-to-one默认是inverse=false,避免了这种错误的产生。但是对多对就没有这个默认设置了,所以很多人经常在多对多的两端都使用inverse=true,结果导致连接表的数据根本没有记录,就是因为他们双分都没有责任维护关系。所以说,双向关联中最好的设置是一端为inverse=true,一端为inverse=false。一般inverse=false会放在多的一端,那么有人提问了,many-to-many两边都是多的,inverse到底放在哪儿?其实hibernate建立多对多关系也是将他们分离成两个一对多关系,中间连接一个连接表。所以通用存在一对多的关系,也可以这样说:一对多是多对多的基本组成部分

正确理解hibernate的inverse属性相关推荐

  1. Hibernate中inverse属性与cascade属性

    Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性.对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现 ...

  2. hibetnate 的inverse属性的作用

    Hibernate的inverse属性的作用? 1.明确inverse和cascade的作用  inverse 决定是否把对对象中集合的改动反映到数据库中,所以inverse只对集合起作用,也就是只对 ...

  3. html的区域大小,JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性...

    在web开发中,不可避免遇到要计算元素大小以及位置的问题,解决这类问题的方法是利用DOM提供的一些API结合兼容性处理来,所有内容大概分3篇左右的文章的来说明.本文作为第一篇,介绍DOM提供的与尺寸大 ...

  4. hibernate inverse属性的作用

    hibernate配置文件中有这么一个属性inverse,它是用来指定关联的控制方的. inverse属性默认是false,若为false,则关联由自己控制,若为true,则关联 由对方控制. 见例子 ...

  5. Hibernate【inverse和cascade属性】知识要点

    Inverse属性 Inverse属性:表示控制权是否转移.. true:控制权已转移[当前一方没有控制权] false:控制权没有转移[当前一方有控制权] Inverse属性,是在维护关联关系的时候 ...

  6. 在 Hibernate 中inverse的属性

    hibernate配置文件中有这么一个属性inverse,它是用来指定关联的控制方的. inverse属性默认是false,若为false,则关联由自己控制,若为true,则关联 由对方控制. 见例子 ...

  7. Hibernate中的inverse属性和cascade属性

    假设Customer和Orders 建立一对多的双向关联. inverse 属性: //加载持久化对象 Customer customer = (Customer) session.load(Cust ...

  8. 【Hibernate】的Inverse属性

    Inverse属性,是在维护关联关系的时候起作用的. 表示控制权是否转移.(在一的一方起作用) Inverse , 控制反转.默认为false不反转 Inverse = false  不反转:   当 ...

  9. Hibernate Inverse属性

    inverse属性: 在one方的一对多关联中设置inverse属性为true,则表示由多方来维护关联关系,这有助于性能的改善: 不设置该属性的话双方都会维护关联关系 eg: <set name ...

最新文章

  1. -bash:syntax error near unexpected token '('
  2. 处理点云数据 点云与生成前视图
  3. Lazy WriterCheckPoint
  4. 外部网络如何获取网口打印机的ip地址_Win7如何连接网络打印机?详细的新手DIY教程...
  5. javascript判断日期奇偶_js中判断奇数或偶数
  6. std::nothrow
  7. WSL2开启sshd
  8. fluentmigrator连接mysql_如何利用FluentMigrator实现数据库迁移
  9. mysql安装包下载与检核
  10. 健康管理师可以从事哪些工作
  11. linux怎么显示第三个数据,从零开始的linux 第三章
  12. 【OCM第18期开班】第18期11g OCM培训将于8月23日,晚20点在腾讯课堂开班,第1场考试免费培训!!!...
  13. 2023必火的5种服装店装修风格,看看哪种风格适合你家店?
  14. java计算机毕业设计学校意见征集系统源码+系统+mysql数据库+lw文档
  15. 激活函数σ、tanh、relu、Leakyrelu、LR_BP反向传播推导
  16. antd mobile toast 数字不会换行
  17. 【类和对象】深入浅出类和对象
  18. php artisan实现机制,源码解读:php artisan serve
  19. Leetcode.1223 掷骰子模拟
  20. python3.7安装scrapy_Python3.7下scrapy框架的安装

热门文章

  1. QT实现带有阴影的渲染3D场景
  2. 经典C语言程序100例之三六
  3. centos6查看java命令_centos6.5下常见命令和操作
  4. 有什么办法可以判断页面是静态还是动态?_网络营销——网络营销专员到底是教你如何选择网站页面制作...
  5. 73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令
  6. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
  7. 2 TileMapObject的使用
  8. SpringBoot demo初始
  9. 操作多个表_6_生成笛卡尔积
  10. Hbase复制(Replication )