Article Directory
Hibernate-to-many relationship map
表与表之间关系
一对多关系
多对多关系
一对一关系
What belongs to many relationship?
一个部门对应多个员工,一个员工只能属于某一个部门。
一个客户对应多个联系人,一个联系人只能属于某一个客户。
一对多建表原则:在多的一方创建外键指向一的一方的主键
Hibernate's many configuration
Hibernate的一对多配置
搭建Hibernate基本环境
创建表
创建实体
一的一方
放的是多的一方的集合
多的一方
放的是一的一方的对象
创建映射
一的一方
配置的<set>集合
多的一方
配置<many-to-one>
编写测试类
Hibernate的一对多的操作
级联操作:cascade,用于操作其关联的对象。
级联保存或更新
级联删除
测试对象导航
放弃外键维护权:inverse,用户控制是否有外键维护能力
Many of the cascade operation
What is called the cascade
级联指的是,操作一个对象的时候,是否会同时操作其关联的对象。
级联是有方向性
操作一的一方的时候,是否操作到多的一方
操作多的一方的时候,是否操作到一的一方
Cascade save or update
保存一的一方同时保存多的一方
保存多的一方同时保存一的一方
Many bidirectional associations set up to produce excess SQL statements
解决多余的SQL语句
单向维护:
使一方放弃外键维护权:
一的一方放弃。在set上配置inverse=”true”
Cascading delete
删除一边的时候,同时将另一方的数据也一并删除。
删除客户级联删除联系人
Hibernate's many-to-relational mapping
What belongs to-many relationship?
一个学生可以选择多门课程,一门课程也可以被多个学生选择。
一个用户可以选择多个角色,一个角色也可以被多个用户选择。
多对多建表原则:创建一个中间表,中间表至少有两个字段,分别作为外键指向多对多双方的主键
Hibernate's many-configuration
Hibernate的多对多
Hibernate的多对多配置
搭建Hibernate环境
创建表
创建实体
放置的是对方的集合
创建映射
配置的是对象的<set>
编写测试类
Hibernate的多对多操作
级联操作
级联保存或更新
级联删除
其他的操作
给用户选择角色
给用户改选角色
给用户删除角色