Kira-2006
          -僅僅是一陣風也罷了,偏偏是這樣永恒, 僅僅是一場夢也罷了,偏偏是如此的真實,
          posts - 4,comments - 7,trackbacks - 0

          <!--設置主鍵映射-->
          <id  name=""  column=""  type="">
              <generator  class="">  設置主鍵生成器
          </id>
          Hibernate框架內建為主鍵提供了多種生成器,具體包括如下內容:
          1. increment:用于為long,short,int類型生成唯一標識。
          2. identity:對DB2,MySQL,MS SQL Server,Sybase和HypersonicSQL的內置標識字段提供支持。
          3. sequence:在DB2,PostgreSQL,Oracle,SAPDB,McKoi中使用序列(sequence),而在Interbase中使用生成器(generator)。
          4. hilo:使用一個高/低位算法高效生成long,short或int類型的標識符。給定一個表和字段(默認分別是hibernate_unique_key和next)作為高位值的來源。高/低位算法生成的標識符只在一個特定的數據庫中是唯一的。
          5. seqhilo:使用一個高/低位算法高效生成long,short或int類型的標識符,給定一個數據庫序列(sequence)的名字。
          6. uuid.hex:用一個128-bit的UUID算法生成字符串類型的標識符。在一個網絡中是唯一的(使用了IP地址)。UUID被編碼位一個32位16進制數字的字符串。
          7. uuid.string:使用同樣的UUID算法。UUID被編碼位一個16個字符長的任意ASCII字符組成的字符串。
          8. native:根據底層數據庫的能力選擇identity、sequence、hilo中的一個。
          9. assigned:讓應用程序在插表之前為對象分配一個標識符。
          10. foreign:使用另一個相關聯的對象的標識符。通常被用在有關聯關系的表中。

          一般來說,在Hibernate中,不推薦用assigned作為主鍵生成器。因為對數據庫表來說,以業務邏輯字段作為主鍵有潛在的危險性。當該業務邏輯字段在將來需要改變的時候,作為主鍵的應用就會相當麻煩。常用的手段是用一個和業務無關的字段作為主鍵,而在PO中定義這個字段成為變量屬性,同事又作為該對象的惟一標識。

          posted on 2008-04-26 18:15 Kira-2006 閱讀(426) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 定西市| 昌邑市| 牟定县| 若尔盖县| 瑞金市| 中山市| 互助| 蒙城县| 商水县| 同江市| 布尔津县| 新营市| 利川市| 乐昌市| 双辽市| 乳源| 新安县| 临夏市| 桓台县| 湟中县| 集贤县| 邻水| 邢台市| 西峡县| 米脂县| 乌拉特后旗| 万荣县| 青州市| 巨野县| 四川省| 剑河县| 民丰县| 乐东| 五家渠市| 定西市| 石棉县| 高唐县| 仙居县| 柏乡县| 白沙| 灵川县|