作者:何征天

课程视频地址:https://ke.qq.com/course/273907

1.1.   技术分析之让某一方放弃外键的维护,为多对多做准备

1. 先测试双方都维护外键的时候,会产生多余的SQL语句。
    * 想修改客户和联系人的关系,进行双向关联,双方都会维护外键,会产生多余的SQL语句。
    * 产生的原因:session的一级缓存中的快照机制,会让双方都更新数据库,产生了多余的SQL语句。
    
  2. 如果不想产生多余的SQL语句,那么需要一方来放弃外键的维护!
    * 在<set>标签上配置一个inverse=”true”.true:放弃.false:不放弃.默认值是false
    * <inverse="true">

1.1.1.  inverse示例

问题:多余sql的问题

将没有关系的一个客户和联系人建立关系。(双方)

1.在TestOne2Many类中添加测试代码

//inverse放弃外键维护

@Test

publicvoid run7(){

Session session = HibernateUtils.getCurrentSession();

Transaction tr = session.beginTransaction();

//获取一个客户

Customer c = session.get(Customer.class, 7L);

//获取一个联系人

Linkman m = session.get(Linkman.class, 8L);

//联系人与客户做双向关联

c.getLinkmans().add(m);

m.setCustomer(c);

tr.commit();

}

产生的sql:多余sql

解决方法:

采用inverse属性来配置。

2. 修改Customer.hbm.xml

<set name="linkmans" inverse="true" >

<key column="lkm_cust_id"></key>

<one-to-many class="com.igeek.demo1.Linkman"/>

</set>

3. 修改中数据,再次测试,hibernate只发一条sql语句

一般,我们都让1方放弃外键维护权!

1.2.   技术分析之cascade和inverse的区别

1. cascade用来级联操作(保存、修改和删除) 在一方设置
2.inverse用来维护外键的  在一方设置

【极客营】Hibernate完成CRM的联系人的保存操作-技术分析之让某一方放弃外键的维护,为多对多做准备相关推荐

  1. “StarRocks 极客营” 重磅来袭,和技术大牛一起推开数据库梦想之门!

    操作系统.编译器.数据库是软件工程师的梦之所向,对于大多数人而言,却是近在眼前.远在天边: 你是否曾渴望加入 Linux 这样伟大的社区,然觉门槛太高无从下手? 你是否也曾想象参与开发 MySQL 这 ...

  2. All Eyes on Docs! 练就火眼金睛,就来StarRocks 极客营

    开放源代码运动的主要领导者--埃里克·雷蒙(Eric Steven Raymond)在他出版的<大教堂与集市>中描述了这样一个精彩的观点:只要有足够多的眼球关注,就可让所有软件缺陷浮现.他 ...

  3. StarRocks极客营 | 90天,17名新晋贡献者,SQL Planner 实战回顾

    若能体验一个字符串的 SQL 怎么一步步在 StarRocks 被执行起来,对于 OLAP 开发者来说,能大大帮助理解整个框架和系统流程. 近日,由 StarRocks 社区举办的 SQL Plann ...

  4. 【CCTC 2017】来自Mesosphere、美团点评、hyper.sh、凡泰极客、深圳睿云的容器与运维技术实战...

    [CSDN 现场报道]5月18日-19日,CCTC 2017中国云计算技术大会(Cloud Computing Technology Conference 2017,简称CCTC 2017)在北京朝阳 ...

  5. 首篇极客解题报告意外泄出!亚军竟有神操作?

    导语 | 腾讯云+社区联合腾讯码客.腾讯安全平台部全新打造的创新赛事[腾讯极客挑战赛 | 鹅罗斯方块]正式落幕.玩鹅罗斯方块,玩点不一样!在短暂10天内,4570名参赛者或以自己的硬核技术诠释着 &q ...

  6. 百度SLG拿下前锤子科技CTO钱晨,还要合并小鱼在家? | 极客头条

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 整理 | 一一 出品 | AI科技大本营(id:rgznai100) 2016 年 7 月,锤子科技前 ...

  7. 阿里云IoT将举办第三届极客创新挑战赛,吸引全球极客参赛

    摘要: 为支持和推动全球极客文化发展,近日,阿里云IoT宣布将举办第三届极客创新挑战赛(GXIC).该赛事是阿里云旗下IoT事业部所主办的智能创新比赛,本届大赛将首次对外开放征集报名参赛队伍.比赛将召 ...

  8. 极客时间App安卓版上线,让知识获取更加简单

    在12月8日于京举办的 ArchSummit 全球架构师峰会上,极客邦科技正式宣布旗下 IT 知识服务产品-极客时间 App 继 iOS 版本发布后,蓄势一个月,安卓强势上线,已全面登陆各大应用市场. ...

  9. 华为百度美团驰援抗击疫情;自由软件基金会建议开源 Windows 7;印度超越美国成第二大智能手机市场 | 极客头条...

    整理 | 唐小引 出品 | CSDN(ID:CSDNnews) 极客头条智能播报,由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好,今天是大年初三,全国新型 ...

  10. 这样的极客大会千万别停!如今中国太需要为技术传道、为极客正名

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 今年六一那天,一场极客游园会在北京激荡人心. 只是喧嚣已尽,热闹完结,才听说个中不易. 当时置身现场,只道一切寻常. 现在更想为此鼓与呼, ...

最新文章

  1. 比特币耶稣Roger Ver:比特币现金是比特币扩容问题的答案
  2. 机器学习第7天:深入了解逻辑回归
  3. 多线程共用全局变量可能存在的威胁
  4. GridView格式化数据失效
  5. IOS8如何获取当前UIViewController
  6. discovery_01
  7. LeetCode Hot100 ---- 排序专题
  8. java编程_Java编程和C语言的比较
  9. lunix下的redis数据库操作——list列表
  10. PVS-Studio C/C++/C++11 静态代码分析工具
  11. 其它行业半路转web前端,优势和不足有哪些?
  12. ie9服务器win2008系统离线安装包,IE9离线安装包完整版
  13. 单片机基础学-按键篇
  14. 电信机顶盒,废弃机顶盒复活,华为电信定制机顶盒,固件。设置关闭限制apk选项。安装自己所需的apk软件。
  15. 动画师入门必读 迪士尼影响至今的十二条动画黄金法则
  16. win8计算机修改密码,win8系统怎么设置开机密码
  17. 2011中国 · 移动开发者大会侧记
  18. java实现收藏功能
  19. debian安装tools
  20. Stegano之binwalk、C32Asm

热门文章

  1. PHPThinkphpmysql新生儿疫苗接种管理系统87023-计算机毕业设计项目选题推荐(附源码)
  2. google查找脚本
  3. 3 函数的增长概念(中英对照)
  4. docker搭建马里奥小游戏
  5. 蓝桥杯 2015初赛 星系炸弹
  6. 计算机信息技术基础pdf,计算机信息技术基础(核心教程).pdf
  7. IDEA一直Update Indice问题
  8. 京东金融移动端测试实践
  9. 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8
  10. ajax滚动条动态加载,Ajax实现页面动态加载,添加数据