千里冰封
          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 千里冰封 閱讀(1195) 評論(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了  回復  更多評論
            
          主站蜘蛛池模板: 抚宁县| 井冈山市| 沐川县| 涟水县| 崇文区| 甘肃省| 德化县| 姚安县| 清原| 民丰县| 淅川县| 静乐县| 都兰县| 麦盖提县| 日照市| 汉川市| 府谷县| 永兴县| 阳曲县| 松溪县| 伊春市| 讷河市| 周口市| 肥城市| 岳阳县| 凤台县| 灌南县| 西昌市| 梅河口市| 兴安盟| 安康市| 正安县| 衢州市| 嘉黎县| 惠东县| 大同市| 西丰县| 蓬莱市| 施甸县| 玛纳斯县| 柳林县|