Hibernate多对一及一对多关联关系理解及区别
来源:互联网 发布:react.js和angular.js 编辑:程序博客网 时间:2024/06/16 18:12
Hibernate多对一及一对多关联关系理解及区别
关联关系的本质是将关联关系映射到数据库中。关联关系在对象模型中体现为内存中的一个或多个引用。 一对多关系: 一对多关系 分为“单向一对多/多对一关系”和“双向多对一”关系。
• “单向一对多/多对一关系”只需在“一”/“多”方进行配置,
• “双向多对一关系”需要在关联双方均加以配置。 双向多对一关联就是在多方和一方都进行配置,并在“一” 方通过属性inverse="true"设置控制关系反转
注:单向多对一关联是最常见的单向关联关系。
注:双向多对一关联是最常见的双向关联关系。双向多对一关联实际上是“多对
一”与“一对多”关联的组合。
多对一及一对多关联映射的区别(单向):
不管多对一还是一对多,都是在"多"的一端添加一个外键指向"一"的一端,只不过是多对一是在多的一端为其自己添外键,而一对多则是在一的一端为多的一端添加外主键。
模型:一个用户组(group)对应多个用户(user)。
多对一关联映射:是在"多"的一端添加一个外键指向"一"的一端,它维护的关系为多到一的关系,如:当载入一个用户(user)时将会同时载入组(group)的信息。它的关系映射将写在多的一端(user):
<many-to-one name="group" column="relatedGroup" cascade="all" /> 此时它在多的一端(user)添加了一个外键“relateGroup”指向一的一端。在多的一端通过group维护一的一端。
一对多关联映射:是在"多"的一端添加一个外键指向"一"的一端,它维护的关系为一到多的关系,如:当载入一个组(group)时将会同时载入此组用户(user)的信息。它的关系映射将写在一的一端(group):
<set name="users" order-by="name">
<key column="relatedGroup"/>
<one-to-many class="com.dvnchina.hibernate.User"/>
</set>
此时通过<key column="relatedGroup"/>在多的一端(user)添加了一个外键“relateGroup”指向一的一端。在一的一端通过users维护多的一端。
总之,一对多和多对一的映射策略是一致的,都是通过在"多"的一端添加一个外键指向"一"的一端,只是站的角度不同。
本文出自 “青山” 博客,请务必保留此出处http://java999.blog.51cto.com/259217/119424
- Hibernate多对一及一对多关联关系理解及区别
- Hibernate多对一及一对多关联关系理解及区别
- Hibernate多对一及一对多关联关系理解及区别
- Hibernate多对一及一对多关联关系理解及区别
- Hibernate多对一及一对多关联关系理解及区别
- Hibernate多对一及一对多关联关系理解及区别
- Hibernate完成一对多及多对一的关联关系映射
- Hibernate一对多及多对一关联映射(三)
- hibernate双向多对一(一对多)及自身一对多关联
- Hibernate关联关系映射 一对一 一对多 多对一
- Hibernate一对多、多对一关联关系的使用
- hibernate关联关系中的一对多以及多对一
- Hibernate关联关系映射(一对多/多对一)
- 【Hibernate】--关联关系映射:一对多和多对一
- Hibernate一对多及多对一
- hibernate映射关系 一对多、多对一单向关联 一对多双向关联
- hibernate 一对多 多对一 关系的理解
- Hibernate关联关系映射(单向一对多、单向多对一、双向一对多)
- 如何在 Windows 中配置系统故障和恢复选项
- Android 判断网络状态,并且在没有网络的时候,打开网络设置对话框
- jsp过滤器中文乱码解决
- 贱人是怎样炼成的
- Java中hashmap和hashtable的区别
- Hibernate多对一及一对多关联关系理解及区别
- 多核平台下的JAVA优化
- 第15章——友元、异常和其他
- do_bootm 分析
- oracle 11gr2 创建standby 日志组、删除standby 日志组操作
- C#中的计时类
- 精美图片切换显示
- 注册表功能API大全
- 使用 /sys 文件系统访问 Linux 内核