Hibernate的数据映射关系
来源:互联网 发布:星际淘宝网588 编辑:程序博客网 时间:2024/06/05 20:53
1单向 关系 ,1 - N 1 - 1 N-1 N -N
a 单向N-1,只需要从N的一端 访问到 1的一端,1 特指公共的地方,
使用方法:在N的一端增加一个1的实体
(1)无连接表映射,在N的的一端数据表增加一个外键列,(2)有连接表映射,强制利用join产生连接表,
<join table="" > <key column=""/> name 表示类中属性的名字 <many-to-one name="" column="" class="" cascade=""/> </join>
b 单向 1-1 只是将N-1 的N端 设置为 唯一,即 设置属性 unique=”true”
1、基于外键 2、基于连接表
c 单向 1-N 基于一个集合属性,少用 1-N单向关联,多用1—N双向关联
使用方法 在 1 的一端添加集合属性
1 无连接表的连接
<set name="addresses"> <key column="person_id"/> <one-to-many class="Address"/> </set>
2 有连接表的1- N 单向关联 ,使用 ,将unique设置为 true
<set name="addresses" table="person_address"> <key column="person_id"/> <many-to-many class="Address" column="address_id" unique="true"/></set>
d 单向 N - N 端 必须用 连接表,并且控制端 添加 set 属性 <many-to-many class="" column="" />
<set name="addresses" table="person_address"> <key column="person_id"/> <many-to-many class="" column="" /> </set>
双向 1-N ,Hibernate推荐使用双向 1—N,并且 N这一端为 控制端
a 双向 1-N ,在 1的一端 增加 N ,在N的一端 增加 1,并且 1 为外键,
(1)无连接表的双向 1-N
1端操作
<set name="" inverse="true"> <!--不控制关系 -->
<key column="person_id"/>
<one-to-many class="Address"/>
</set>
N端操作
<many-to-one name="person" column="person_id" class="person" not-null="true" />
持久化 1-N关系,先 持久化 1 ,然后 通过N端设置1端,建立关联关系。
(2)有连接表的双向 1—N 1 的一端 设置为 many-to-many unique设置为 1 <set name="" inverse="true" table="person_address"> <key column="person_id"/> <many-to-many class="" unique="true" column="address_id"/> </set> N 的一端 设置为 join <join table="person_address"> <key="address_id"/> <many-to-one name="person" column="person_id" not-null="true"/> </join>
b 双向 N - N
使用方法 两端 都添加 set 属性,必须使用连接表
<set table="" name="addresses"/> <key column="person_id"/> <many-to-many column="address_id" class="" /></set>另外一个N端 对
`
- Hibernate的数据映射关系
- hibernate 的映射关系
- Hibernate的关系映射
- hibernate的映射关系
- Hibernate的关系映射
- Hibernate的映射关系
- hibernate的关系映射
- Hibernate的关系映射
- Hibernate的关系映射
- Hibernate的映射关系
- hibernate的映射关系
- Hibernate的映射关系
- Hibernate的映射关系
- 【Hibernate】Hibernate的映射关系
- Hibernate的关联关系映射
- Hibernate的关联关系映射
- Hibernate的关联关系映射
- Hibernate的关联关系映射
- JavaSript模块化
- 关键路径 + 拓扑排序
- nginx 与fastcgi、及动态语言配合的工作原理
- 访问其他应用程序的Activity
- 数据结构--直接插入排序
- Hibernate的数据映射关系
- R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD系列深度学习检测方法梳理
- Android开发——倒计时器自定义chronometer
- Spring 配置多数据源实现
- leetcode--Power of Two
- 李飞飞-我们该如何做研究
- 【NOIP提高组】B
- apache静态文件配置
- A【NOIP2017提高组模拟12.18】