Hibernate学习笔记(映射)

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

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

Hibernate的一对多关联映射

    数据表与表之间的关系

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

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

   

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

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

    

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

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

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

    Hibernate一对多的关系配置

    实体和映射:

 

    测试类:

自动建表为create

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

   

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

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

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

    级联保存或更新 

        保存客户级联联系人

        

        保护联系人级联客户

        

        对象导航测试

        

    级联删除

        删除客户级联删除联系人

        

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

        

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

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

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

Hibernate的多对多关联映射

    角色表、用户表、中间表

    实体和映射

    多对多级联保存操作:

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

     多对对其他操作:

 

发布了67 篇原创文章 · 获赞 50 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Auuuuuuuu/article/details/87110642