hibernate inverse属性的作用】的更多相关文章

hibernate配置文件中有这么一个属性inverse,它是用来指定关联的控制方的.inverse属性默认是false,若为false,则关联由自己控制,若为true,则关联由对方控制.见例子: 一个Parent有多个Child,一个Child只能有一个Parent. package com.xian; public class Child { private Long id; private String name; private Parent parent; public Long ge…
修改街道对应的区道信息: 修改后会发现程序执行了两次修改操作: 原因: 区道与街道是一对多的关系: 由于Hibernate是双向维护外键,所以当修改区道中的街道时,会修改一次外键:在修改街道中的区道时,又会修改一次外键. 这样就会产生效率慢的问题,因为如果执行两次修改,那么第二次是无用的操作.利用inverse属性可以解决这一问题. 在区道表的映射文件里面的set标签中设置inverse属性为true; inverse的属性值如下: 1)默认值为false,表示我方不放弃维护外键的权利 2)tr…
1 . 集合映射 需求:购物商城,用户有多个地址. // javabean设计 // javabean设计 public class User { private int userId; private String userName; // 一个用户,对应的多个地址 private Set<String> address; private List<String> addressList = new ArrayList<String>(); //private Str…
级联操作 cascadecascade的常用属性值 none 默认值 不做任何变动 save-update 保存或修改 delete 删除 all 包含save-update 和delete等行为 cascade 级联 操作级联到子实体,hibernate中一对多或者多对一中如果在一的一方 set中设置了cascade属性值为save-update 那么在操作一的一方同时也会更新或保存跟他联级的另一方,相对而言 如果属性值为delete 在执行一的一方删除操作时与当前相关的另一方也会被删掉, 如…
cascade : 不管是单向多对一还是一对多,或者是双向的一对多关系,在一的一端映射文件中有一个set标签,在多的一端有many-to-one标签,拿前几篇笔记里讲的Grade和Student举例,此标签下都有一个cascade属性: Grade.hbm.xml中: <set name="students" cascade="save-update"> <key column="gradeId" ></key>…
Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性.对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现这两个属性实在是难以理解,无奈只好将这个两个属性解释工作交给了Google和Baidu,查看了许多牛人的解释,加上自己在Eclipse上的调试,对"inverse"和"cascade"这两个属性有了一定的见解. "inverse"属性探究 "…
inverse后经常用于双向1-N在相关性.它也可以在使用N-N该协会,这里,例如用双1-N联想 或两个与各部门及工作人员,两javabean没有写. 首先,我们的员工看映射文件: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforg…
1.cascade属性 cascade属性的作用是描述关联对象进行操作时的级联特性,只有涉及关系的元素才有cascade属性.具有cascade属性的标记包括<many-to-one/>.<one-to-one/>.<any/>.<set/>.<bag/>.<idbag/>.<list/>和<array/>. 注意:<one-to-many/>和<many-to-many/>是用在集合标…
1 <Set>节点的inverse属性默认由one方来维护(默认值为false).将inverse属性修改为true则由多方来维护.…
当类与类之间建立了关联,就可以方便的从一个对象导航到另一个对象.或者通过集合导航到一组对象.例如: 对于给定的Emp对象,如果想获得与它关联的Dept对象,只要调用如下方法 Dept dept=emp.getDept(); //从Emp对象导航到关联的Dept对象 以Dept(部门)类和Emp(员工)类为例: 一.配置双向一对多关联 需在Dept类中增加一个集合类型的emps属性 private Set<Emp> emps=new HashSet<Emp>(); public Se…