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
          主站蜘蛛池模板: 高唐县| 康马县| 蚌埠市| 常州市| 德保县| 平安县| 定襄县| 迁西县| 东宁县| 南阳市| 虹口区| 黑山县| 察哈| 彰化市| 长沙县| 阳朔县| 闸北区| 延川县| 洛阳市| 镇雄县| 安庆市| 旬邑县| 富民县| 岢岚县| 平邑县| 乌苏市| 祁门县| 九龙坡区| 乌审旗| 平和县| 太仓市| 宁乡县| 乐至县| 若羌县| 桃园市| 昆明市| 同德县| 揭阳市| 齐河县| 准格尔旗| 新宾|