积淀和提高:hibernate中的inverse(反转)属性的作用

•在hibernate中通过对 inverse 属性的来决定是由双向关联的哪一方来维护表和表之间的关系. inverse = false 的为主动方,inverse = true 的为被动方, 由主动方负责维护关联关系

•在没有设置 inverse=true 的情况下,父子两边都维护父子

  关系

•在 1-n 关系中,将 n 方设为主控方将有助于性能改善(如果要国家元首记住全国人民的名字,不是太可能,但要让全国人民知道国家元首,就容易的多)

•在 1-N 关系中,若将 1 方设为主控方

–会额外多出 update 语句。

–插入数据时无法同时插入外键列,因而无法为外键列添加非空约束

时间: 2024-08-26 00:52:52

积淀和提高:hibernate中的inverse(反转)属性的作用的相关文章

Hibernate中的inverse属性

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

Hibernate中的inverse

inverse inverse的英文意思是反向的,倒转的 Hibernate配置文件中的inverse正是这一真实反映,inverse属性只在Hibernate配置文件的集合元素上(list,set,map,bag)存在,inverse有两个属性值,当inverse="false"时,表示控 制权在一对多关联关系的一方,当inverse="true"时,表示控制权在一对多关联关系的多方 当inverse=false时,Hibernate首先会逐条插入company,

【Hibernate】详解Hibernate中的inverse=”true”

首先两个类,一个是班级类,一个是学生类: public class Grade{ private int id; private String name; private Set students = new HashSet(); } public class Student { private int id; private String studentName; } 数据库中表的结构: t_grade: 两个字段:id  name t_student: 三个字段:id  studentNam

闲聊Hibernate中的inverse和cascade

小小的记录一下自己对这两个属性的理解. 假如有两个类 class Group{ private int id; private Set<User> users  = new ... } class User{ private int id; private Group  group = new .. } 他们之间是 一对多的关系   Group (1) ---> User (N) inverse   属性的意思是  是否维护 他们之间的关系 ,换句通俗的话来说就是  是否  设置 外键

spring中 &lt;bean parent=&quot; &quot;&gt; parent属性的作用

第一步: 新建工程  SecondSpring 文件目录结构如下: 第二步:导入spring 相应的jar包 过程略... 第三步: 新建类 ParentClass.java package com.xuzhiwen.spring7; public class ParentClass { public String name; public int age; public String hobby; public void setHobby(String hobby) { this.hobby

第五章 动画 50 动画-transition-group中appear和tag属性的作用

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compati

hibernate中inverse属性详解

术语"inverse"直译为"反转".在Hibernate中,inverse属性指定了关联关系中的方向.关联关系中,inverse="false"的为主动方,由主动方维护关联关系.在一对多关联中,将one方的inverse设置为true,这将有助于性能的改善.也就是让所有新生主动来报到.Hibernate: insert into district (name, id) values (?, ?)Hibernate: insert into st

Hibernate中inverse属性与cascade属性

Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性.对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现这两个属性实在是难以理解,无奈只好将这个两个属性解释工作交给了Google和Baidu,查看了许多牛人的解释,加上自己在Eclipse上的调试,对"inverse"和"cascade"这两个属性有了一定的见解. "inverse"属性探究 "

hibernate中注解方式中的控制反转

都知道hibernate用xml方式配置关系时(one-to-many,many-to-many)可以添加控制反转属性 inverse=false(默认) 即将两表之间的关系交给对方来维护. inverse=true表示本方不维护关系,有对方维护关系 但是需注意的是,one-to-one关系是没有控制反转的,只能交由外键来维护关系. 从而导致在设置关系时,只能有外键方设置,移除关系时,只能从外键方来解除关系,删除记录时,只能先删外键方,在删主键方(save,remove,delete) 如果有控