Hibernate的映射关系

1.一对一关联,2.一对多关联

关联关系的好处:


一对一关联的方式:



1.主键关联配置:

案例:

表结构:用户信息 T_USER,用户详情 T_USERDETAILS

步骤:

1.反向生成PO

2.添加类中关系

3.配置文件配置

· 主表中:主键生成策略

关系配置

从表中

测试:



cascade

cascade:级联关系 级联操作的4个值
          all:所有情况下都进行的级联操作
          none:所有情况下都不进行的级联操作
          save-update:在save,update进行的级联操作
          delete:中执行delete时进行的级联操作
         

添加

修改

删除



2.外键关联实现:

表结构,从表

java类中,添加属性,setter和getter方法

配置文件 ,主表

配置文件 ,从表

测试,查询

测试,添加



2.一对多关联

1.1对多

案例表,部门表,员工表.反向生成代码

单向关联,主表配置

单向关联, 从表配置

配置一对多关联 
        inverse:是否放弃维护从表的外键
        false:不放弃
        true:放弃
        cascade:级联 (影响从表数据)


删除主表同时删除从表数据:

inverse="false" cascade="all" 表示不放弃,删除主表,并从表外键值为null

inverse="true" cascade="all" 表示放弃,删除主表,不能删除从表

删除主表数据同时不删除从表数据,外键置空

inverse="false" cascade="none"

2.多对多,两个1对多

角色表

菜单表


添加角色同时添加对应的菜单

cascade="all" inverse="false"

cascade="all" inverse="true"

中间表没有值

3.总结

1对1:外键关联 为主

1对多:inverse的设置,维护方在多的一方,cascade="save-update" inverse="true"

多对多:cascade="none" inverse="false" 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值