Hibernate inverse

  inverse 用来设置由谁来管理关联关系。

  如果为false为双方都可以管理关系,谁管理关系谁维护,如果都管理的关系,双方都可以维护。当关系由多对一端来维护时,效率较高,当关系由一对一端来维护时,会多执行update语句。看下面例子。

  1.由一对端来管理:

 

 

  我们来看一下打印的sql:

 

  这里就不仅有3条insert语句。还有2条update语句,需要先去保存多对端的数据,再保存一对端的数据,最后再去修改多对端的数据,效率不高。

 

  2.由多对端来管路:

 

  我们来看一下打印的sql

  这里仅仅只有三条insert语句,不再需要update,所以由多对端来管理关系效率较高。

 

  3.双方共同管理:

  双方共同管理的话,效果跟一对方管理效果一样,也会先去insert然后再去update。

 

  如果为true则关系由设置的另一方来管理。如果一对端设置inverse为true则一对端不会去维护关系,不管有没有给对方设置关联值都不会去管理。建议给一对端设置inverse=“true”,让多对端去管理关系,这样效率更高。

 

 

注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!

posted on 2017-12-10 14:51  Herrt灬凌夜  阅读(177)  评论(0编辑  收藏  举报

导航