Hibernate学习笔记(映射)

代码注释简洁易懂,笔记就简略写了,代码已上传

链接:https://pan.baidu.com/s/1-GswKfv5WuCwMqK_kkV_cQ 
提取码:b41n 

 

Hibernate的一对多关联映射

    数据表与表之间的关系

        一对多:例如,一个部门对于多个员工,一个员工只能属于某个部门

        建表原则:在多的一方创建外键指向一的一方的主键

   

        多对多:例如,一个学生可以选择多门课程,一门课程也可以被多个学生选择

        建表原则:创建一个中间表,中间表至少有两个字段分别作为外键指向多对多双方的主键

    

        一对一(了解):例如,一个公司只能有一个注册地址,一个注册地址只能被一个公司注册

        建表原则:唯一(unique)外键对应或主键对应   

   客户表(一) 联系人表(多)

    Hibernate一对多的关系配置

    实体和映射:

 

    测试类:

自动建表为create

一对多关系只保存一边不可以,报一个瞬时对象异常:持久态对象关联了一个瞬时态对象。

   

 一对多的级联操作(解决上面的问题) 

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

    级联具有方向性:操作一的一方的时候,是否操作到多的一方;操作多的一方的时候,是否操作到一的一方。

    级联保存或更新 

        保存客户级联联系人

        

        保护联系人级联客户

        

        对象导航测试

        

    级联删除

        删除客户级联删除联系人

        

        删除联系人级联删除客户(基本不用)

        

 

一对多设置了双向关联会产生多余的SQL语句

一级缓存的缓存区和快照区机制,双方都可维护外键引起

解决:单向维护 或者 使一的一方放弃( 关系维护的主动方由多的发起 ) 在set上配置inverse=“true”

 

Hibernate的多对多关联映射

    角色表、用户表、中间表

    实体和映射

    多对多级联保存操作:

    多对多级联删除操作(基本不用):

     多对对其他操作:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值