.表与表之间关系回顾
1.一对多
(1)分类和商品关系。一个分类有多个商品,一个商品只能属于一个分类
(2)客户和联系人是一对多关系
客户是一,联系人是多
(3)一对多建表:通过外键联系
在多的一方创建字段作为外键,指向一的那一方主键。
2.多对多
(1)订单和商品关系,一个订单多个商品,一个商品属于多个订单。
(2)用户和角色多对多关系
用户:小王、小马、小宋
角色:总经理、秘书、司机、保安
一个用户可以有多个角色,一个角色可以有多个用户
创建第三张表,至少两个字段作为外键指向两个主键
3.一对一
在中国,一个丈夫一个妻子。
hibernate的一对多操作(重点)
一对多映射配置
第一步:创建两个实体类
第二步:两个实体类互相表示
第三步:配置映射关系
第四步:创建核心配置文件
一对多级联操作
级联操作
1.级联保存
(1)添加客户,为这个客户添加一个联系人
(2)简化写法
一般根据客户添加联系人
2.级联删除
(1)删除某个客户,把客户的所有联系人删除
(2)第一步:在客户映射文件set标签
根据id查询对象,调用session的delete删除
一对多修改
1.让
2.inverse属性
双向维护外键
解决方式:让其中的一方不维护外键
一对多的里面,放弃一的一方
一个国家有总统,国家有很多人,总统不认识国家所有人,国家所有人可以认识总统。
Hibernate多对多操作
多对多映射配置
第一步:创建实体类
第二步:两个实体类互相表示
(1)用户里面表示所有角色
(2)一个角色有多个用户,使用set集合
(3)配置映射关系
(4)在核心配置文件中
多对多级联保存
根据用户保存角色
第一步 set标签配置 cascade
多对多级联删除
维护第三张表的关系