千里冰封
JAVA 浓香四溢
posts - 151,comments - 2801,trackbacks - 0
七种映射关系简介

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

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

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

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

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


尽管千里冰封
依然拥有晴空

你我共同品味JAVA的浓香.
posted on 2007-09-17 09:47 千里冰封 阅读(1178) 评论(6)  编辑  收藏 所属分类: JAVAEE

FeedBack:
# re: EJB学习日记(7)
2007-09-17 10:08 | sitinspring
Hibernate和Spring从EJB中汲取了多少营养啊,哈哈.   回复  更多评论
  
# re: EJB学习日记(7)
2007-09-17 11:43 | 惊鸿逝水
@sitinspring
你说反了吧。是EJB3从Hibernate,spring汲取了多少营养  回复  更多评论
  
# re: EJB学习日记(7)
2007-09-17 11:45 | sitinspring
@惊鸿逝水

是Hibernate,spring先学EJB的好不好?
  回复  更多评论
  
# re: EJB学习日记(7)
2007-09-17 11:56 | 千里冰封
呵呵,应该是互相学习啦  回复  更多评论
  
# re: EJB学习日记(7)
2007-09-17 13:12 | BeanSoft
呵呵 最早的实体 Bean 的确是 EJB 里面的, EJB 1.0 就有了, 那是1997 年, 那时候中国人还没几个做 Java 的. 只可惜搞的太重量级了. 后来才有了轻量级的 Hibernate. 在 Hibernate 之前还有好多其它的轻量级 ORM 框架, 不过那也是在 EJB 推广之后的事情了.

有意思的发现 EJB 最早是 IBM 的发明....呵呵
参考: http://zh.wikipedia.org/wiki/EJB
EJB最早于1997年由IBM提出,旋即被太阳微系统采用并形成标准(EJB 1.0 和EJB 1.1)。其后在Java社区进程(Java Community Process) .... 在EJB 2.1和以前的版本中,每个EJB都由一个类和两个接口组成。EJB容器负责创建这个类的实例,接口则供客户端调用。
http://www.ibm.com/developerworks/cn/opensource/os-ag-renegade14/
勿庸置疑,1997 年推出的 IBM® 原始 EJB 规范是 Java 技术领域最重要的开发成果之一。EJB 和包含 EJB 的 J2EE 应用服务器迅速地应用于企业开发。然而,对 EJB 的批评之声也正如 J2EE 的采用一样快速涌至。在这些批评之中,最主要的抱怨是 EJB 难于理解且开发起来繁琐乏味。

OpenEJB —— EJB 1.1

OpenEJB 问世于 2000 年,其创建者是 David Blevins 和 Richard Monson-Haefel。Blevins 也是 Geronimo 的创建者之一,而 OpenEJB 是 Geronimo 中 EJB 实现的首选。OpenEJB 是 EJB 1.1 规范的第一批开源实现之一。它直接提供了一个远程会话 bean 的实现,并使用 Castor 作为它的容器管理持久性(CMP)实体 bean 的实现。

  回复  更多评论
  
# re: EJB学习日记(7)
2007-09-17 13:30 | 千里冰封
现在EJB3.0是比以前容易开发多了,并且实体BEAN被分出来了,叫JPA
java persistence Api了  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: