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 閱讀(429) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 郸城县| 浑源县| 宁远县| 渭南市| 滨州市| 永昌县| 壤塘县| 庆城县| 太湖县| 祁阳县| 都江堰市| 新绛县| 宁安市| 象山县| 绩溪县| 德化县| 司法| 新源县| 宜川县| 谷城县| 太湖县| 清水河县| 深水埗区| 铜梁县| 长寿区| 南靖县| 兰州市| 乌拉特前旗| 高州市| 安泽县| 靖安县| 宾川县| 灌南县| 监利县| 镇坪县| 绥德县| 木里| 互助| 黎城县| 乌拉特后旗| 西平县|