1,inverse属性的作用:

只有集合标记(set/map/list/array/bag)才有invers属性;
以set为例,set的inverse属性决定是否把对set的改动反应到数据库中去,inverse=false(反应),inverse=true(不反应);默认值是false;
one-to-many 和many-to-many都适用;
inverse等于false时,对于one-to-many,如果删除“一”方,NH会先执行Update语句来把“多”方的外键置为null,然后再删除;对于many-to-many,NH会先删除关系表中的数据,再删除要删除的数据。
 
2,inverse和cascade的区别:
cascade定义的是关系两端对象到对象的级联关系;而inverse定义的是关系和对象的级联关系。
比如说,在一对多的关系中,cascade 定义的是“一”方和“多”方的级联操作;而inverse定义的是“一”方和“多”方的外键的级联操作。  所以如果配置inverse = false(默认),则删除“一”时,会把关系取消,即把“多”的外键置为null。如果配置cascade=“delete”则在删除“一”的时候,则会同时删除“多”。
在多对多的关系中,cascade定义的是“多”和“多”的级联操作;而inverse定义的是“多”和关系表的级联操作。
 

使用NHibernate(10) -- 补充(inverse && cascade)的更多相关文章

  1. Andrew Ng机器学习课程10补充

    Andrew Ng机器学习课程10补充 VC dimension 讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训 ...

  2. hibernate中一对多关系中的inverse,cascade属性

    举例说明: 一对多关系的两张表:boy.girl(一个男孩可以多个女朋友) boy表结构 Field   Type        ------  -----------  name    varcha ...

  3. Hibernate - lazy, fetch, inverse, cascade

    Inverse是hibernate双向关系中的基本概念.inverse的真正作用就是指定由哪一方来维护之间的关联关系.当一方中指定了"inverse=false"(默认),那么那一 ...

  4. hibernate中一对多 多对多 inverse cascade

    ----------------------------一对多------------------------------------------- inverse属性:是在维护关联关系的时候起作用的 ...

  5. Hibernate框架--关联映射,一对多,多对多 inverse cascade

    回顾Hibernate: 1. hibernate开发环境搭建 ----> 引入jar: hibernate.jar + required + jpa + 驱动包 ---> hiberna ...

  6. hibernate 标签inverse cascade

    inverse设立不当会导致性能低下,其实是说inverse设立不当,会产生多余重复的SQL语句甚至致使JDBC exception的throw.这是我们在建立实体类关系时必须需要关注的地方.一般来说 ...

  7. 一步步学习NHibernate(10)——连接查询和子查询(2)

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,老魏讲述了HQL的链接查询,本章呢,老魏开始讲述HQL的子查询.子查询在SQL中也是占据着非常重要的作用,如果没有 ...

  8. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  9. NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)

    摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...

随机推荐

  1. 深入解析js中基本数据类型与引用类型,函数参数传递的区别

    ECMAScript的数据有两种类型:基本类型值和引用类型值,基本类型指的是简单的数据段,引用类型指的是可能由多个值构成的对象. Undefined.Null.Boolean.Number和Strin ...

  2. dubbo问题总结

    1.dubbo序列化数据丢失问题.dubbo的返回结果是对象,那么必须要实现对象中需要返回的数据的get方法. 2.dubbo序列化问题.

  3. 随机打乱工具sklearn.utils.shuffle,将原有的序列打乱,返回一个全新的错乱顺序的值

    Shuffle arrays or sparse matrices in a consistent way This is a convenience alias to resample(*array ...

  4. ---解决git pull 后出现冲突的解决方法

    0. git statusOn branch masterYour branch and 'origin/master' have diverged,and have 1 and 3 differen ...

  5. arpg网页游戏之地图(三)

    地图分块加载类MapEngine,主要包含以下属性: g 地图层graphics,地图将画在上面 buffPixelRange 地图加载范围矩形 viewPort 屏幕视窗 currZoneArr 已 ...

  6. malloc()参数为0的情况

    问题来自于<程序员面试宝典(第三版)>第12.2节问题9(这里不评价<程序员面试宝典>,就题论题): 下面的代码片段输出是什么?为什么? char *ptr; ))==NULL ...

  7. wamp密码设置

    WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车 ...

  8. 校验日期函数的js

    /判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length= ...

  9. GsonWithoutObject 没有对象(脱离对象) 直接提取 ... gson json

    GsonWithoutObject 脱离对象, 直接提取 package temp; import tool.FileTool; import com.google.gson.JsonElement; ...

  10. Git版本控制教程

    Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...