hibernate&一对多&多对多

hibernate一对多配置

   在一方javabean中添加一个Set集合,集合泛型为多方,将集合初始化(new),生成对应的get和set方法,
   在javabean映射中配置:


    <set name="集合名称">
<key column="多方javabean的外键名称"/>
<one-to-many class="多方javabean路径"/>
    </set>
<set>标签
name属性:表示当前javabean的存储多方数据集合的名称
cascade属性: 级联保存,保存客户数据 级联是联系人数据,在客户这里配置(在开发中一般不会在主表对象关联 而是inverse放弃)
inverse属性: 默认值为false,当值为true时放弃维护(为了防止sql重复,提高效率,会放弃一方的维护)


<key>标签
column属性:外键名称


<one-to-many>标签:
<class>属性:多方javabean的路径


javabean
![一方javabean][1]
映射文件
![一方映射文件][2]


多方配置:
   在javabean中添加一个属性,类型为一方javabean,不能自己初始化(hibernate会自动完成初始化),生成get和set方法,以及外键


在多方映射文件中的配置:
   在配置javabean的属性映射数据表字段时,不能配置外键映射字段,需要将外键和对象绑定(一方javabean对象)
   
    <many-to-one name="多方属性中的一方对象" class="一方javabean路径" column="外键名称" cascade="级联"/>


<many-to-one>标签
name属性: 在多方javabean中添加的一方javabean对象名称
class属性: 一方javabean路径
column属性: 外键名称


cascade属性: 级联 
取值有:
save-update :级联保存和更新
delete :   级联删除
delete-orphan :移除删除,先将外键值赋值为null,再删除


多方javabean
![多方javabean][3]
多方映射配置
![多方映射配置][4]


## hibernate多对多配置 ##
只需要配置两个多方,中间表由hibernate框架生成,操作多方集合就相当于操作中间表
  在两个多方的javabean中添加一个外键,和一个集合,集合初始化,生成get和set方法
演示:
![javabean一][5]
![javabean二][6]


映射文件:
配置多对多必须有一方放弃维护(inverse),另一方需要级联(cascade)
放弃一方:
    <set name="集合存储的javabean全路径" table="数据表" inverse="true" cascade="save-update">
            <key column="外键名称"></key>
            <many-to-many class="外键对应的javabean路径" column="对应的javabean在中间表的外键"/>
    </set>


![映射文件一][7]
![映射文件二][8]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值