HHibernate一对多、多对多的关系配置

一对多关系配置

  1. 创建表
  2. 创建实体
    one类
       public  class  One{
                private    String   teacher;  
                //放置多的一方类的集合
               private   set<Many>   many=new  Hashset<Many>();
            }

many类

public   class   Many{
private  String    student;
//放置一的一方类的对象
private  String   teacher;
}
  1. 创建映射配置
    one的映射
 <set    name="  Many " >
 <key  colum ="  外键名称 ">
 <one-to-many  class=“Many的全路径”>
 </set>

many的映射

<many-to-one  name="One"  class="one的全路径"  column=''外键名称">

多对多关系配置

1.创建表格(三张表,两个属性表,一个中间表)

  1. 创建实体类
    many类
public  class  Many{
private   Long  many_id;
private   String many_name;

private  Set<Litter>  litter=new  HashSet<Litter>();

}

Litter类

public   class  Litter{
private   Long litter_id;
private   String litter_name;

private  Set<Many>  many= new HashSet<Many>();


}
  1. 配置映射文件
    Many的映射
<set  name="litter"  table="中间表的名称">
<key  column="Many对象对应中间表中外键的名称">
<many-to-many class="Litter类的全路径"  column="Litter在中间表中的外键名">
</set>

Litter的映射

<set  name="many"  table="中间表的名称">
<key  column="Litter对象对应中间表中外键的名称">
<many-to-many class="Many类的全路径"  column="Many在中间表中的外键名">
</set>

级联操作

操作一个对象的时候,是否会同时操作其关联的对象

  • 一对多的级联操作(保存操作)
    使one的一方放弃外键维护权配置one.hbm.xml中配置cascade=“save-update” inverse=“true”
    many则配置cascade=“save-update”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值