这两个属性都用于一多对或者多对多的关系中。

而inverse特别是用于双向关系,在单向关系中我们并不须要。

 
Cascade代表是否运行级联操作,Inverse代表是否由己方维护关系。
 
Cascade:
 
Cascade属性的可能值有
    all: 全部情况下均进行关联操作,即save-update和delete。

    none: 全部情况下均不进行关联操作。

这是默认值。

    save-update: 在运行save/update/saveOrUpdate时进行关联操作。

    delete: 在运行delete 时进行关联操作。
    all-delete-orphan: 当一个节点在对象图中成为孤儿节点时,删除该节点。比方在一个一对多的关系中。Student包括多个book。当在对象关系中删除一个book时,此book即成为孤儿节点。

 
Inverse:
 
Inverse属性的可能值是true或者false。默觉得false:
 
     false代表由己方来维护关系,true代表由对方来维护关系。

在一个关系中,仅仅能由一方来维护关系。否则会出问题(解疑中会讲到)。同一时候也必须由一方来维护关系。否则会出现两方互相推卸责任,谁也无论。

 
1、cascade(级联)
   引用了《深入浅出 Hibernate》:级联(cascade)在Hibernate映射关系中。它指的是当主控方运行操作时,关联对象(被动方)是否同步运行同一操作,如主控方对象调用save-update或delete 方法时。是否同事对关联对象(被动方)进行save-update或delete。

  这里所说的主控方按我理解指的是:比方,User 类中有一Address属性。User和Address 是一对多的关系,然后当user.save(address);的时候,user就是主控方了。
 
2、inverse(控制方向反转)
   引用了《深入浅出 Hibernate》:在Hibernate 语义中,inverse指定了关联关系中的方向。关联关系中,inverse=false 的为主动方,由主动方负责维护关联关系。

   这里所说的关联关系按我理解指的是:为了维持两个实体类(表)的关系。而加入的一些属性,该属性可能在两个实体类(表)或者在一个独立的表里面,这个要看这两方直接的相应关系了:
ps:这里的维护指的是当主控放进行增删改查操作时,会同一时候对关联关系进行相应的更新。
   一对多:该属性在多的一方。应该在一方的设置 inverse=true 。多的一方设置 inverse=false(多的一方也能够不设置inverse属性。由于默认值是false),这说明关联关系由多的一方来维护。原因:该关联关系的属性在多的一方的表中。在维护关联关系的时候在多的一方easy维护。
   多对多:属性在独立表中。

在随意一方设置inverse=true,还有一方inverse=false;原因:假设两个多设置为true 的话。表示两方都对关联关系表(独立表)进行了相同的维护,事实上仅仅要一方维护即可了,效率上来说,这样设置是合理点的。

   一对一:事实上是一对多的一个特例,inverse 的设置也是一样的。主要还是看关联关系的属性在哪一方,这一方的inverse=false。

   多对一:也就是一对多的反过来,没什么差别。

hibernate中cascade和inverse的更多相关文章

  1. 具体解释Hibernate中cascade与inverse

    学习hibernate的时候对级联关系的概念老是分不清楚,尤其是cascade.inverse傻傻分不清.以下通过样例来简单说明. 准备工作: 首先创建数据库,新建两张表: 教室表classes (字 ...

  2. 转 Hibernate中cascade和inverse的作用

    Inverse和cascade是Hibernate映射中最难掌握的两个属性.两者都在对象的关联操作中发挥作用.1.明确inverse和cascade的作用inverse 决定是否把对对象中集合的改动反 ...

  3. Hibernate中cascade和inverse的作用

    Inverse和cascade是Hibernate映射中最难掌握的两个属性.两者都在对象的关联操作中发挥作用.1.明确inverse和cascade的作用inverse 决定是否把对对象中集合的改动反 ...

  4. Hibernate中cascade作用

    Hibernate中cascade作用 只有“关系标记”才有cascade属性: 一个操作因级联cascade可能触发多个关联操作.前一个操作叫“主控操作”,后一个操作叫“关联操作”. cascade ...

  5. hibernate中cascade属性以及inverse属性

    级联操作 cascadecascade的常用属性值 none 默认值 不做任何变动 save-update 保存或修改 delete 删除 all 包含save-update 和delete等行为 c ...

  6. java之hibernate之 cascade和inverse

    1.Cascade是级联动作,在many_to_one中如果使用cascade可以级联操作关联对象,如下代码可以级联保存Category对象. 在Book的映射文件设置 <many-to-one ...

  7. Hibernate中cascade属性的区别

    xml对于集合的级联操作属性cascade的取值可以是: none: 不级联操作,默认为none save-update:针对的是当对当前对象进行save或update操作时,要对想关联的对象进行sa ...

  8. Hibernate中的inverse和cascade属性

    Hibernate中的inverse和cascade属性 inverse的值有两种,"true"和"false".inverse="false&quo ...

  9. hibernate中的cascade和inverse

    以Student和class为例,一个Student对应一个class,一个class对应多个Student. Student.hbm.xml <?xml version="1.0&q ...

随机推荐

  1. 深入浅出MFC——MFC多线程程序设计(七)

    1. 从操作系统层面看线程——三个观念:模块(MDB).进程(PDB).线程(TDB) 2. “执行事实”发生在线程身上,而不在进程身上.也就是说,CPU调度单位是线程而非进程.调度器据以排序的,是每 ...

  2. Mybatis的resultMap返回map

    <resultMap type="Map" id="bankMaintainMap"> <result column="bank_n ...

  3. cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration的解决

    导入了一个工程,编译什么的都还好,但是报了一个XML的错误. cvc-complex-type.2.4.c: The matching wildcard is strict, but no decla ...

  4. spring applicationContext.xml 配置文件 详解

      <?xml version="1.0" encoding="UTF-8"?>   <beans xmlns="http://ww ...

  5. Matlab 曲线拟合之polyfit与polyval函数

    p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) 说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p.x必须是单调的.矩阵s用于生成预测值的误差估 ...

  6. golang文件传输服务

    续上篇,本篇介绍一个完整的golang文件传输服务器. 完整的代码可以看服务器,客户端 网络使用的框架如上篇介绍,这里就不再复述. 首先定义3个命令码: const ( request_file = ...

  7. 【大数据系列】win10不借助Cygwin安装hadoop2.8

    一.下载安装包 解压安装包并创建data,name,tmp文件夹 二.修改配置文件 1.core-site.xml <?xml version="1.0" encoding= ...

  8. MFC 虚函数与消息映射区别

    初学MFC添加函数时,总是纠结于是 Add  windows message handler or Add virtual function 说到底不理解MFC中虚函数与消息处理函数的设计区别 本人理 ...

  9. MFC onchar()

    为什么在CView类中可以对ON_CHAR进行相应,添加消息处理函数onchar就可以了,但是在CDialog中要对ON_CHAR相应,直接添加不行? CView相当于Text控件,你可以在Text控 ...

  10. PCL—低层次视觉—关键点检测(Harris)

    除去NARF这种和特征检测联系比较紧密的方法外,一般来说特征检测都会对曲率变化比较剧烈的点更敏感.Harris算法是图像检测识别算法中非常重要的一个算法,其对物体姿态变化鲁棒性好,对旋转不敏感,可以很 ...