Hibernate-inverse

【Hibernate】详解Hibernate中的inverse=”true” 详解Hibernate中的inverse=”true” 阅读详情
inverse的使用注意:
1. 原理与目的:
    If enabled, Hibernate will not try to insert or update the properties defined by this join.
    nverse属性默认是false的表示由该方维护关联关系.
2. 使用
2.1 1对多
默认是flase
1对多的情况下,例如一个学校对应很多学生。一般学生也就是多的一方被设置为true,学校也就是单一的一方设置为False。这样,save(学校)时,学生也会被save。
如果2个都是设置为true,那么应该,save(学校),save(某学生),学校.getChildren().add(某学生)。最后一步是确保一致性。
顺序:先Save父(id为空),再Save子,然后在update所有。导致潜在问题:如果学校的id为not null,那么按照保存顺序,就可能出问题。

append:
关于one-to-many,上面提到的问题,hibernate3仍然没有解决, ,或者说本来就是逻辑上确实应该避免的问题.See the reference doc:
Very important note: If the foreign key column of a <one-to-many> association is declared NOT NULL, you must declare the <key> mapping not-null="true" or use a bidirectional association with the collection mapping marked inverse="true". See the discussion of bidirectional associations later in this chapter.

2.2 多对多
例如老师和学生,一个老师有很多学生,一个学生也有多个老师。如果双方都是Set,那么简单。
如果一方是List,一方是Set(List是顺序的,Set是无序非重的),那么List需要将inverse设置为false(index),Set设置为true(cannot set as index)

3. cascade和inverse
"cascade定义的是关系两端对象到对象的级联关系;而inverse定义的是关系和对象的级联关系。"
告别手动复制粘贴!用R语言脚本批量抓取TCMSP中药靶点基因(附完整代码) 本文介绍如何使用R语言脚本自动化抓取TCMSP数据库中的中药靶点基因数据,告别手动复制粘贴的低效操作。通过详细的代码示例和参数设置,帮助研究人员快速获取并过滤符合药代动力学标准的中药成分及其靶点基因,大幅提升研究效率。特别适合生物信息学和中药现代化研究领域的从业者。 阅读详情

相关推荐

基于Ansys Fluent 的颗粒分离/过滤解决方案

过滤是指通过特殊装置将颗粒移除,将流体提纯净化的过程。过滤的方式很多,应用的物系也很广泛,固-液、固-气、大颗粒-小颗粒等。

sh_djoin的博客 1852

Hibernate中的Inverse和cascade属性配置

Inverse和cascade是Hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。 1.明确inverse和cascade的作用  inverse 决定是否把对对象中集合的改动反映到数据库中,所以inverse只对集合起作用,也就是只对one-to-many或many-to-many有效(因 为只有这两种关联关系包含集合,而one-to-one和many-to-on

732

STC32G电调调试血泪史:从TPH1R403NL MOS管烧毁到PWM信号异常排查全记录

本文详细记录了STC32G无刷电调调试过程中的常见问题与解决方案,包括MOS管烧毁、PWM信号异常等关键故障排查。通过电源系统检测、驱动电路验证及三相平衡调试等实战经验,帮助硬件爱好者快速定位问题,提升电调调试效率。特别针对TPH1R403NL等MOS管的保护措施进行了重点分析。

weixin_33736048的博客 551

hibernate中inverse的用法

一、Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录!          Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库。按照原来的映射文件,people

Leader的专栏 2万+

MDK5 Debug调试方法总结

MDK5 Debug调试方法总结

m0_70748084的博客 2万+

银河麒麟系统V10 Server SP1 安装Oracle 19c

•oracle-database-preinstall-19c 这个工具会自动配置系统参数,创建 oracle 用户和组。比较方便。•••••银河麒麟高级服务器操作系统V10 - 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站。

fuguimashu的博客 4320

hibernate 中inverse

、Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录           Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库。按照原来的映射文 件,pe

软件的世界 466

74hc595驱动模块的Verilog设计(线性状态机)

module hc595_driver( input clk, //50Mhz input rst_n, //复位信号 input [15:0] data, //数码管待显示数据,8位段选数据,8位位选数据 input en, //使能 o...

qq_41294540的博客 3740

一口一口吃掉Hibernate(八)——Hibernate中inverse的用法

一、Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录!         Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库。按照原来的映射文件,people.g

崔成龙 . 勇往直前 4万+

芒果YOLO11改进21:检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

包括YOLOv5、YOLOv7、YOLOv8等模型改进 790

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知 文章目录Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知1.实现思路2.新增钉钉机器人并测试消息的发送2.1.新增钉钉机器人2.2.测试发送消息到钉钉3.在Jenkins中新建一个构建任务3.1.新建任务3.2.配置任务时增加参数化构建过程3.3.配置任务添加git地址3.4.配置构建触发器生成gitlab webhook使用的token3.5.配置任务构建过程中执行的She

江晓龙的博客 3808

hibernate inverse

inverse 英文意思为反向,倒转的。   Hibernate配置文件中的inverse正是这一意思的真实反映,inverse属性只在Hibernate配置文件的集合元素上存在,如bag,list,map,set等。inverse有两个值,分别为true和false,如果inverse=false,表明控制权在一对多关联关系的一方;如果inverse=true,表明控制权在一对多关联关系的多方

hhl324的专栏 1332

isaaclab无法识别NVIDIA显卡,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 1144

Hibernate inverse

inverse的值有两种,“true”和“false”。inverse="false"是默认的值,如果设置为true 则表示对象的状态变化不会同步到数据库 ;设置成false则相反; 我们说inverse设立不当会导致性能低下,其实是说inverse设立不当,会产生多余重复的SQL语句甚至致使JDBC exception的throw。这是我们在建立实体类关系时必须需要关注的地方。一般来说,i

狮子王的专栏 634

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

hibernate中的inverse和casecade

    hibernate中的inverse与cascade是个让人容易产生误解的属性,今天我终于有了正确的认识,总体上说inverse是指定哪个表作为维护端,cascade则是在操作某个表时,另一个表如何操作。     以Father与Son为例,它们之间为一对多关系。一、inverse属性1、如果是单向一对多   在set元素那里设置inverse为true,则插入father

song198710的专栏 1807

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Hibernate 中 元素的inverse 属性分析

<br />试验背景:<br />表:<br />  create table order_7( id number primary key, order_number varchar2(30), customer_id number) alter table order_7 drop column customer_id alter table order_7 add constraint customer_id_fk customer_id references custom

liuxiIT的专栏 887

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

在 Hibernate 中inverse的属性

**** hibernate配置文件中有这么一个属性inverse,它是用来指定关联的控制方的。 inverse属性默认是false,若为false,则关联由自己控制,若为true,则关联 由对方控制。**** Inverse和cascade是Hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。 1.明确inverse和cascade的作用 inverse 决定是否把对...

DreamChaser_gf的博客 1030

彻底明白Hibernate中的Inverse

以前写HBM,用一对多或多对多的时候默认总是加上“inverse=true”。当时想法很简单就是由双方来维护之间的关联关系。今天才终于明白inverse的真正含义了!其实inverse不复杂,但是要真正明白还是要稍微看一下源码。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hi

Bob@优快云 788

关于Hibernate中inverse=true的转载

1、到底在哪用cascade="..."?         cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有 cascade的关系就会被自己动的插入或是删除。便是为了能正确的cascade,unsaved-value是个很重要的属性。Hibernate通 过这个属性来判断一个对象应该save还是upd

天涯 书塾 1978

inverse java_Hibernate中的inverse的用法

总结:直观来说所有双向关联须有有一段设置为inverse。在一对多的关联中它必须代表多(many)的那端。而在多对多(many-to-many)关联中,可以选取任意一端,因为两端之间并没有差别。以下为转贴:通过Hibernate Inverse的设置来决定是由谁来维护表和表之间的关系。最近有朋友问我Hibernate关于多对多关于删除中间表数据的问题,关键是Inverse的设置,下面引用网友的一篇...

weixin_39867893的博客 217

Hibernate中inverse的使用

一、Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录           Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库。按照原来的映射文 件,peopl

sunzhenhua0608的专栏 810

Hibernate中Inverse和Cascade

Inverse和cascade是Hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。 1.inverse属性:inverse所描述的是对象之间关联关系的维护方式。 inverse只存在于集合标记的元素中。Hibernate提供的集合元素包括<set/> <map/> <list/> <array /> <bag /&...

u014712365的博客 164

hibernate中inverse详解

场景:customer和order 一对多双向关联 public class Order { private Long orderId; private String orderDetail; private Customer customer; public Order(){ } public Order(String orderDetail){ this.orderDetai

sunyameng_ndsc的专栏 853
上一篇: 全球四大Java研讨会(ZT)
下一篇: 模块隔离时引发的Hibernate问题
跑得快的东东
博客等级 码龄23年 2粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值