Hibernate inverse反转】的更多相关文章

inverse: inverse: 指定由哪一方来维护之间的关联关系 false默认,表示不放弃,是主动放 true:表示把关联关系的维护反转(放弃),对集合对象的修改不会被反映到数据库中 容易出现的问题: 如果两端都设置控制反转,就会重复更新,报告联合主键重复的错误 inverse和cascade的区别: inverse决定是否把对对象中集合的改动反映到数据库中,所以inverse只对集合起作用 即只对one-to-many和many-to-one有效 hibernate提供的集合元素包括:<…
在使用myeclipse中自带的hibernate 进行jsp开发时候遇到了这个问题.使用hibernate的反转引擎从数据库生成生成实体类,一个表生成了两个类,xx.java和xxId.java .显示的问题如下 其问题的根本在于没有设置对应表的主键.…
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…
出处:http://blog.csdn.net/xiaoxian8023/article/details/15380529 一.Inverse是hibernate双向关系中的基本概念.inverse的真正作用就是指定由哪一方来维护之间的关联关系.当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录! Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库.按照原来的映射文件,people.…
1.到底在哪用cascade="..."? cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有cascade的关系就会被自动的插入或是删除.为了能正确的cascade,unsaved-value是个很重要的属性.Hibernate通过这个属性来判断一个对象应该save还是update,如果这个对象的id是unsaved-value的话,那说明这个对象不是persistence object,要sav…
修改街道对应的区道信息: 修改后会发现程序执行了两次修改操作: 原因: 区道与街道是一对多的关系: 由于Hibernate是双向维护外键,所以当修改区道中的街道时,会修改一次外键:在修改街道中的区道时,又会修改一次外键. 这样就会产生效率慢的问题,因为如果执行两次修改,那么第二次是无用的操作.利用inverse属性可以解决这一问题. 在区道表的映射文件里面的set标签中设置inverse属性为true; inverse的属性值如下: 1)默认值为false,表示我方不放弃维护外键的权利 2)tr…
one to many inverse=false只能设置维护关联关系的多的一方, inverse属性: 默认为false,表示本方维护关联关系. 如果为true,表示本方不维护关联关系(并不意味着对方维护). 只是影响是否能设置外键列的值(设成有效值或是null值),对获取信息没有影响. A, 解除关联关系 从员工方解除  可以直接解除 // 从部门方解除(与inverse有关系,为false时可以解除) B. 删除 删除员工方(多方),对对方没有影响 // 删除部门方(一方) // a, 如…
选择工程.包名 Finish…
1.Cascade是级联动作,在many_to_one中如果使用cascade可以级联操作关联对象,如下代码可以级联保存Category对象. 在Book的映射文件设置 <many-to-one name="category" column="cid" cascade="save-update"/> 在保存book时,如果book所对应的category没有保存,那么先保存category再保存book,完成级联保存数据的动作. Ca…
级联操作 cascadecascade的常用属性值 none 默认值 不做任何变动 save-update 保存或修改 delete 删除 all 包含save-update 和delete等行为 cascade 级联 操作级联到子实体,hibernate中一对多或者多对一中如果在一的一方 set中设置了cascade属性值为save-update 那么在操作一的一方同时也会更新或保存跟他联级的另一方,相对而言 如果属性值为delete 在执行一的一方删除操作时与当前相关的另一方也会被删掉, 如…