Flyingis

          Talking and thinking freely !
          Flying in the world of GIS !
          隨筆 - 156, 文章 - 16, 評(píng)論 - 589, 引用 - 0
          數(shù)據(jù)加載中……

          Hibernate學(xué)習(xí)心得--映射對(duì)象標(biāo)識(shí)符

              作者:Flyingis

              在關(guān)系數(shù)據(jù)庫(kù)中的主鍵可分為自然主鍵(具有業(yè)務(wù)含義)和代理主鍵(不具有業(yè)務(wù)含義),其中代理主鍵可以適應(yīng)不斷變化的業(yè)務(wù)需求,因此更加流行。代理主鍵通常為整數(shù)類型,與此對(duì)應(yīng),在持久化類中野應(yīng)該把OID定義為整數(shù)類型,Hibernate允許把OID定義為short、int和long類型,以及它們的包裝類型。

              Hibernate提供了幾種內(nèi)置標(biāo)識(shí)符生成器,每一種標(biāo)識(shí)符生成器都有它的使用范圍,應(yīng)該根據(jù)所使用的數(shù)據(jù)庫(kù)和Hibernate應(yīng)用的軟件架構(gòu)來(lái)選擇合適的標(biāo)識(shí)符生成器。下面是幾種常用數(shù)據(jù)庫(kù)系統(tǒng)可使用的標(biāo)識(shí)符生成器:

          MYSQL: identity increment hilo native
          MS SQL Server: identity increment hilo native
          Oracle: sequence seqhilo hilo increment native
          夸平臺(tái)開發(fā): native

              OID是為持久化層服務(wù)的,它不具備業(yè)務(wù)含義,而域?qū)ο笪挥跇I(yè)務(wù)邏輯層,用來(lái)描述業(yè)務(wù)模型。因此,在域?qū)ο笾袕?qiáng)行加入不具備業(yè)務(wù)含義的OID,可以看作是持久化層對(duì)業(yè)務(wù)邏輯層的一種滲透,但這種滲透是不可避免的,否則Hibernate就無(wú)法建立緩存中的對(duì)象與數(shù)據(jù)庫(kù)中記錄的對(duì)應(yīng)關(guān)系。

              當(dāng)然,映射中還包括自然主鍵的映射方案。對(duì)于從頭設(shè)計(jì)的關(guān)系數(shù)據(jù)庫(kù)模型,應(yīng)該優(yōu)先考慮使用代理主鍵。

          posted on 2005-11-14 10:43 Flyingis 閱讀(699) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate

          主站蜘蛛池模板: 绵阳市| 无棣县| 贵定县| 塔河县| 大城县| 当阳市| 图木舒克市| 江西省| 柞水县| 塔河县| 崇义县| 吉首市| 仁化县| 宜章县| 濮阳市| 望谟县| 临桂县| 武冈市| 清新县| 年辖:市辖区| 普洱| 泽库县| 汕尾市| 濉溪县| 龙井市| 舟曲县| 江川县| 松江区| 堆龙德庆县| 平塘县| 满城县| 黔西县| 五河县| 内江市| 新巴尔虎右旗| 台中县| 扶沟县| 囊谦县| 清河县| 蕲春县| 珠海市|