2007年10月10日 07:06:00

七种映射关系简介

在实体BEAN中,互相之间的关系有七种,分别是如下七种

1,一对一单向
2,一对一双向
3,一对多单向
4,一对多双向
5,多对一单向
6,多对多单向
7,多对多双向

大家可能发现,为什么没有多对一双向呢?其实多对一的双向,就是一对多的双向,道理是一样的.

今天把典型的应用场哈举个例子,改天再用代码来说话
1,一对一单向.
典型场合:一个人对应一个地址,我们一般只要求给定一个人知道他的地址,却不需要给定一个地址确定一个人的
2,一对一双向
典型场合:一个人对应一个身份证号,我们可以根据一个人得到它的身份证号码,也可以根据身份证号码确定一个人
3,一对多单向
典型场合:一个人对应很多他的电话, 我们一般只要求给定一个人得到他的所有电话,却不会用一个电话去反查一个人,因为电话是很容易改变的
4,一对多双向
典型场合:旅行和预订,一次旅程有多个预订,我们可以根据某次旅程查到这次旅行所对应的预订,也可以根据一次预订查到它所属的那次旅程
5,多对一单向
典型场合:人民和国家,我们只需要知道我们人民是属于哪个国家的,而国家不可能确实地知道它有多少个人民.
6,多对多单向
典型场合:预定和舱位,你可以多次预定一个舱位,也可一定预定多个舱位.一般都是根据某次预定来知道预定了哪些舱位
7,多对多双向
典型场合:老师和学生,老师可以有很多学生,学生也可以有很多老师,可以根据学生查出他所有的老师,也可以根据老师查出他所有的学生.

其实在数据库里面,表现的形式单向和双向都是一样的,只是我们在程序里面为了逻辑清楚而人分的分类了.下次我们将了解一下这七种关系的不同代码,以及他们在数据库里面的表现形式

来自: 千里冰封

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1817694

EJB学习日记(7)相关推荐

  1. java的圆周率_java学习日记,圆周率的打印

    前段时间看到听说学习java每天写技术贴会对自己提升很大,我现在学习java也就2个周,算不上技术贴,就写写学习日记吧. 昨天师傅给我出了一道题,说是试试用java打印圆周率. 刚开始我的思路是,如果 ...

  2. GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考

    GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考 标签: cuda存储线程结构网格 2012-12-07 16:30 6298人阅读 评论(4)收藏 举 ...

  3. GPU(CUDA)学习日记(十三)------ CUDA内存简介

    GPU(CUDA)学习日记(十三)------ CUDA内存简介 标签: cuda存储线程结构 2012-12-07 16:53 2902人阅读 评论(0)收藏 举报 分类: GPU(16) CUDA ...

  4. GPU(CUDA)学习日记(九)------ CUDA存储器模型

    GPU(CUDA)学习日记(九)------ CUDA存储器模型 标签: cuda存储bindingcache编程api 2012-09-27 10:53 1677人阅读 评论(1) 收藏 举报 分类 ...

  5. 基于weblogic 的EJB 学习笔记-JSP教程,资料/其它

    http://www.west263.com/www/info/14655-1.htm ejb 学习笔记 1.ejb 基础知识 (1) 无状态会话bean     不保存客户机的会话状态     优点 ...

  6. 语言余一个负数_C语言学习日记(8)——整数溢出

    小时候喜欢玩电子计算器,觉得很神奇,想要算什么数,立刻就能算出来.当时看着计算器的液晶屏幕就想,如果算一个很大的数,超过了屏幕上面数字的位数,会怎么样呢?试了以后结果是INF,那就是无穷大了.虽然当时 ...

  7. SpringMVC学习日记 1.Spring框架

    SpringMVC学习日记 1.Spring框架 Spring简介 Spring框架是一个开源框架,由Rod Johnson组织和开发,生产目的在于简化企业级应用的开发. 主要特性 非侵入(no-in ...

  8. (11) ejb学习: Jpa事务管理类型 container 和 bean

    container ( 容器管理 ) : 在(10) ejb学习: Jpa的JTA事务和RESOURCE_LOCAL事务  中采取的是容器管理 bean 类型 :  如下图, 在addStudent中 ...

  9. 微信开发学习日记(一):快速阅读5本书,掌握整体背景

    2015年1月开始学习微信开发. 已经有多年开发经验了,从网上文章来看,微信开发主要是接口,然后是业务逻辑,不是很难.所以,我比较强调学习效率.一天学一点,是不能满足我的快速学习欲望的.       ...

最新文章

  1. 单点登录系统实现基于SpringBoot
  2. GitHub换帅!开源大神辞任CEO,竞品GitLab刚完成IPO
  3. mybatis的#和$的差别
  4. 我的世界java手机版怎么调按键_如何在10秒内,让我的世界立即“自爆”?一个隐藏的mc快捷键...
  5. 最幸福的码农在用什么编程语言?
  6. 如何在5分钟内通过身份验证构建RESTful API —全部从命令行(第1部分)
  7. Oracle 12C DataGuard部署以及维护
  8. 2018大厂高级前端面试题汇总
  9. 【CVRP】基于matlab人工鱼群算法求解带容量的车辆路径规划问题【含Matlab源码 1486期】
  10. linux检测摄像头驱动程序,linux usb 摄像头测试软件
  11. 他是发明声呐的物理天才,被妻子家暴后出轨守寡的师母,爱因斯坦却公开支持.........
  12. elasticsearch 学习之 搭建简单的elasticsearch多节点服务器
  13. android安卓使用socketIO实现聊天室功能
  14. 微信小程序---简约音乐播放器
  15. leetcode:BFS/DFS--腐烂的橘子
  16. 【ZZULIOJ】1026: 字符类型判断
  17. ImageMagick简介、GraphicsMagick、命令行使用示例
  18. HDU 6194 string string string
  19. 树莓派mysql重置密码_树莓派忘记密码了?四步重设密码 | 树莓派实验室
  20. 【译】迁移被废弃的Kotlin Android Extensions插件

热门文章

  1. 磁盘阵列(Raid分类与条带化)
  2. 脑结构-功能耦合解码大脑状态和个体指纹
  3. Linux的带宽管理系统
  4. 美国网红python微博_Python有趣|微博网红大比拼 !
  5. 关闭logback启动时打印的无效日志
  6. 中国移动云能力中心(苏小研)--秋招面经
  7. mybatisPlus中 批量删除
  8. 美国普渡大学 计算机科学,普渡大学计算机科学研究生专业排名专家内幕解读总汇...
  9. 数值分析复化梯形公式matlab,数值分析复化梯形公式,复化Simpson公式MATLAB程序
  10. Java校招面试,项目怎么聊