posts - 30,  comments - 50,  trackbacks - 0
          1) Assigned
                主鍵由外部程序負責(zé)生成,無需Hibernate參與。
          2) hilo
                通過hi/lo 算法實現(xiàn)的主鍵生成機制,需要額外的數(shù)據(jù)庫表保存主鍵生成歷史狀態(tài)。
          3) seqhilo
                與hilo 類似,通過hi/lo 算法實現(xiàn)的主鍵生成機制,只是主鍵歷史狀態(tài)保存在Sequence中,適用于支持Sequence的數(shù)據(jù)庫,如Oracle。
          4) increment
                主鍵按數(shù)值順序遞增。此方式的實現(xiàn)機制為在當前應(yīng)用實例中維持一個變量,以保存著當前的最大值,之后每次需要生成主鍵的時候?qū)⒋酥导?作為主鍵。
                這種方式可能產(chǎn)生的問題是:如果當前有多個實例訪問同一個數(shù)據(jù)庫,那么由于各個實例各自維護主鍵狀態(tài),不同實例可能生成同樣的主鍵,從而造成主鍵重復(fù)異常。因此,如果同一數(shù)據(jù)庫有多個實例訪問,此方式必須避免使用。
          5) identity
                 采用數(shù)據(jù)庫提供的主鍵生成機制。如DB2、SQL Server、MySQL中的主鍵生成機制。
          6) sequence
                 采用數(shù)據(jù)庫提供的sequence 機制生成主鍵。如Oralce 中的Sequence。
          7) native
                 由Hibernate根據(jù)底層數(shù)據(jù)庫自行判斷采用identity、hilo、sequence其中一種作為主鍵生成方式。
          8) uuid.hex
                 由Hibernate基于128 位唯一值產(chǎn)生算法生成16 進制數(shù)值(編碼后以長度32 的字符串表示)作為主鍵。
          9) uuid.string
                 與uuid.hex 類似,只是生成的主鍵未進行編碼(長度16)。在某些數(shù)據(jù)庫中可能出現(xiàn)問題(如PostgreSQL)。
          10) foreign
                 使用外部表的字段作為主鍵。
          posted on 2008-08-22 15:36 心。 閱讀(293) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 马龙县| 诸城市| 西盟| 星子县| 浑源县| 涞源县| 普洱| 望谟县| 霞浦县| 五寨县| 永福县| 舞阳县| 绥滨县| 陆川县| 苏尼特左旗| 自治县| 嘉荫县| 连州市| 襄汾县| 兴山县| 普格县| 卢龙县| 临湘市| 城固县| 大连市| 洮南市| 潮州市| 赤壁市| 资源县| 黑水县| 安西县| 湾仔区| 石河子市| 墨脱县| 罗平县| 安丘市| 正定县| 西乌| 沅江市| 集安市| 皋兰县|