Hiberante注解两个一对多关系来映射多对多关系
来源:互联网 发布:浙江省基层网络直报 编辑:程序博客网 时间:2024/04/30 17:32
Hibernate可以通过*.hbm.xml配置文件能很好地把多对多关系拆分成两个一对多的关系,但Hibernate Annotation的文档中没有说到这个点上来。下面通过实例说明用注解来实现多对多拆分成两个一对多。(这里以大家熟悉的商品-订单之间的对应关系为举例)
下面以商品Product和订单Order之间的多对多关系来说明。
Product的属性包括:
- id
- name
- price
Order的属性包括:
- id
- date(下订单的时间)
为什么要把多对多关系拆分成两个一对多?
因为多对多关系不能保存两个实体之间共有的属性。比如,如何记录订单A中购买的商品B的数量呢?如果以多对多映射就不能实现了。
中间实体----用来记录两个多对多实体之间共有关系
在Product和Order之间的关系中,可以用一个OrderItem实体来表示两者多对多中的众多关系中的一个关系。即Product与OrderItem,Order与OrderItem之间的关系为一对多的关系。
OrderItem的属性包括:
- product(假如当前记录的是商品C)
- order(假如当前记录的是订单D)
- quantity(这里记录的是订单D中商品C的数量)
实例代码(省略了类包引用):
复合主键类:
- Hiberante注解两个一对多关系来映射多对多关系
- Hibernate 关系映射注解详解--一对多
- 一对多 关系映射
- 一对多关系映射
- Hibernate 基于注解的方式 实现的关系映射案例(一对一关系,一对多关系,多对多关系)
- Hibernate 关系映射案例(一对一关系,一对多关系,多对多关系)
- Hibernate 一对多关系映射
- 映射一对多关联关系
- ibatis_一对多关系映射
- Hibernata一对多关系映射
- hibernate一对多关系映射
- 映射一对多关联关系
- Hibernate一对多关系映射
- Hibernate映射一对多关系
- Hibernate一对多关系映射
- Hibernate4一对多关系映射
- Mybatis 一对多关系映射
- MyBatis一对多关系映射
- RHCE Red Hat认证工程师课程
- /bin/sh^M:损坏的解释器: No such file or directory
- win7下安装wince6.0遇到问题的解决
- NetSnake的Linux服务管理实践
- JavaScript js中字符串转json对象的3种方法
- Hiberante注解两个一对多关系来映射多对多关系
- MTK资源管理
- Lucene构建网站搜索系统
- 最终我还是选择了C++
- 面试题目
- J2EE学习小结:
- 首贴
- 修改magento页面的title,description等------------进而可以写一个descroption数组,让description随机生成-----方便seo,节省在添加产品的时候添加descrition浪费时间
- 构建网络安全之加密和解密篇