posts - 30,  comments - 50,  trackbacks - 0
          1) Assigned
                主鍵由外部程序負責生成,無需Hibernate參與。
          2) hilo
                通過hi/lo 算法實現的主鍵生成機制,需要額外的數據庫表保存主鍵生成歷史狀態。
          3) seqhilo
                與hilo 類似,通過hi/lo 算法實現的主鍵生成機制,只是主鍵歷史狀態保存在Sequence中,適用于支持Sequence的數據庫,如Oracle。
          4) increment
                主鍵按數值順序遞增。此方式的實現機制為在當前應用實例中維持一個變量,以保存著當前的最大值,之后每次需要生成主鍵的時候將此值加1作為主鍵。
                這種方式可能產生的問題是:如果當前有多個實例訪問同一個數據庫,那么由于各個實例各自維護主鍵狀態,不同實例可能生成同樣的主鍵,從而造成主鍵重復異常。因此,如果同一數據庫有多個實例訪問,此方式必須避免使用。
          5) identity
                 采用數據庫提供的主鍵生成機制。如DB2、SQL Server、MySQL中的主鍵生成機制。
          6) sequence
                 采用數據庫提供的sequence 機制生成主鍵。如Oralce 中的Sequence。
          7) native
                 由Hibernate根據底層數據庫自行判斷采用identity、hilo、sequence其中一種作為主鍵生成方式。
          8) uuid.hex
                 由Hibernate基于128 位唯一值產生算法生成16 進制數值(編碼后以長度32 的字符串表示)作為主鍵。
          9) uuid.string
                 與uuid.hex 類似,只是生成的主鍵未進行編碼(長度16)。在某些數據庫中可能出現問題(如PostgreSQL)。
          10) foreign
                 使用外部表的字段作為主鍵。
          posted on 2008-08-22 15:36 心。 閱讀(294) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 井冈山市| 穆棱市| 桃园市| 东乌珠穆沁旗| 通许县| 孟村| 宣城市| 新干县| 桓台县| 株洲县| 垫江县| 深圳市| 桂东县| 诏安县| 黎城县| 临潭县| 惠东县| 奉新县| 宽甸| 泗水县| 浙江省| 小金县| 霍林郭勒市| 嘉峪关市| 缙云县| 潼南县| 社会| 金乡县| 板桥市| 蛟河市| 余干县| 贵港市| 庆阳市| 东城区| 张家口市| 龙江县| 印江| 岳普湖县| 麻栗坡县| 临潭县| 祁阳县|