- 一对一关联映射
- 单向一对多(多对一)关联映射
- 双向一对多(多对一)关联映射
- 多对多关联映射
- 关联映射最佳实践
一对一关联映射
主要内容:
1. 映射关联关系
在对象模型中,类与类之间的关系最常见的是关联关系。
关联关系分类:
(1)单向关联
(2)双向关联
映射关联关系就是把对象模型中类之间的关联关系映射成关系模型中表之间的外键引用关系。
2. 一对一关联映射的策略
(1)外键关联
(2)主键关联
3. 基于外键的单(双)一对一关联映射
基于外键的单向一对一实际上是多对一关联映射的特例
(1)采用<many-to-one>
标签,指定多的一端的unique=true,这样就限制了多端的多重性为一
4. 基于主键的单(双)一对一关联映射
基于外键的双向一对一关联映射
(1)需要在一端添加<one-to-one>
标签,用property-ref来指定反向属性引用
单向一对多(多对一)关联映射
主要内容:
(1)单向一对多关联映射
(2)单向多对一关联映射
单向一对多关联映射,在对象关系映射文件中使用<one-to-many>
标签映射,开发中不常见。
对象模型:
关系模型
单向多对一关联中对象模型中类之间的引用在关系模型中表示为表之间的外键引用,通过<many-to-one>
标签映射多对一关联。
对象模型
关系模型
双向一对多(多对一)关联映射
主要内容:
1. 双向一对多(多对一)关联
2. 双向一对多自身关联
双向多对一(一对多)关联是最最常见的关联关系
对象模型:
关系模型
以类别Category为例:
多对多关联映射
在关系模型中,无法直接表达两个表之间的多对多关系。需要创建一个连接表,它同时参照两个表。
对象模型:
关系模型:
关联映射最佳实践
1. 为每个持久实体类写一个映射文件
2. 不要用怪异的连接映射
3. 偏爱双向关联