hibernatethree

1.一对多表的配置
在一中:配置多对象的集合 private Set<Example> examples=new HashSet<Example>();   get()、set()方法
配置文件的配置: <set name=”examples”><key column=”外键名”></key><one to many class=”Example”/></set>

set表示一对多关系,key代表对应外键,

在多中:配置对一对象  private Example example;     get()、set()方法

配置文件的配置:<many-to-one  name=”example”   column=”外键”  class=”Example”></many-to-one>

将配置文件导入到主配置文件中

2.级联操作

在一中配置  在<set  cascade=””>             取值save-update  级联保存 (推荐); delete  级联删除(不建议) ;all 前面都;

3.一对多表关系维护

当多表一方保存了外键后,主表又会发起更新多表外键的操作,这时就冗余了,这时就要用到inverde 把维护从表的权利教到从表身上。

在主表中<set inverse=”true”>set设置属性inverse=true;在多表中不能放弃对外键的维护,前面inverse的操作

当删除主表中数据时,会把从表中关联的数据从键置为null;

5.多对多表操作配置

分别在对应的类中建对方的集合: private Set<Example> examples=new HashSet<Example>();   get()、set()方法

再在对应的xml文件中配置<set   name=”集合属性名”   table=”第三张表名” >

<key column=”别人引用我外键名称”></key>

<many-to-many   class=”我与哪个类多对多关系” column=”我引用别人外键名称”/>

</set>

6.多对多表关系一定要一方放弃维护

即设置<set inverse=”true”>,如果不放弃,两端都会维护数据库,会重复插入相同的信息,谁放弃看业务方向

时间: 2018年09月17日下午15:26  |  
作者:
LEAVE A REPLY

loading