成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面講解Hibernate主鍵

開發(fā) 后端
這里介紹Hibernate主鍵,包括介紹Native主鍵生成方式會根據(jù)不同的底層數(shù)據(jù)庫自動選擇Identity、Sequence、Hilo主鍵生成方式。

Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate主鍵,包括介紹Assigned方式、Increment方式和Foreign GUID等方面。

Hibernate主鍵介紹

1.Assigned

Assigned方式由程序生成主鍵值,并且要在save()之前指定否則會拋出異常

特點(diǎn):主鍵的生成值完全由用戶決定,與底層數(shù)據(jù)庫無關(guān)。用戶需要維護(hù)主鍵值,在調(diào)用session.save()之前要指定主鍵值。

2.Hilo

Hilo使用高低位算法生成主鍵,高低位算法使用一個高位值和一個低位值,然后把算法得到的兩個值拼接起來作為數(shù)據(jù)庫中的***主鍵。Hilo方式需要額外的數(shù)據(jù)庫表和字段提供高位值來源。默認(rèn)請況下使用的表是

hibernate_unique_key,默認(rèn)字段叫作next_hi。next_hi必須有一條記錄否則會出現(xiàn)錯誤。

特點(diǎn):需要額外的數(shù)據(jù)庫表的支持,能保證同一個數(shù)據(jù)庫中主鍵的***性,但不能保證多個數(shù)據(jù)庫之間主鍵的***性。Hilo主鍵生成方式由Hibernate 維護(hù),所以Hilo方式與底層數(shù)據(jù)庫無關(guān),但不應(yīng)該手動修改hi/lo算法使用的表的值,否則會引起主鍵重復(fù)的異常。

3.Increment

Increment方式對主鍵值采取自動增長的方式生成新的主鍵值,但要求底層數(shù)據(jù)庫的支持Sequence。如Oracle,DB2等。需要在映射文件xxx.hbm.xml中加入Increment標(biāo)志符的設(shè)置。

特點(diǎn):由Hibernate本身維護(hù),適用于所有的數(shù)據(jù)庫,不適合多進(jìn)程并發(fā)更新數(shù)據(jù)庫,適合單一進(jìn)程訪問數(shù)據(jù)庫。不能用于群集環(huán)境。

4.Identity

Identity當(dāng)時根據(jù)底層數(shù)據(jù)庫,來支持自動增長,不同的數(shù)據(jù)庫用不同的主鍵增長方式。

特點(diǎn):與底層數(shù)據(jù)庫有關(guān),要求數(shù)據(jù)庫支持Identity,如MySQl中是 auto_increment, SQL Server 中是Identity,支持的數(shù)據(jù)庫有MySql、SQL Server、DB2、Sybase和HypersonicSQL。 Identity無需Hibernate和用戶的干涉,使用較為方便,但不便于在不同的數(shù)據(jù)庫之間移植程序。

5.Sequence

Sequence需要底層數(shù)據(jù)庫支持Sequence方式,例如Oracle數(shù)據(jù)庫等

特點(diǎn):需要底層數(shù)據(jù)庫的支持序列,支持序列的數(shù)據(jù)庫有DB2、PostgreSql、Qracle、SAPDb等在不同數(shù)據(jù)庫之間移植程序,特別從支持序列的數(shù)據(jù)庫移植到不支持序列的數(shù)據(jù)庫需要修改配置文件

6.Native

Native主鍵生成方式會根據(jù)不同的底層數(shù)據(jù)庫自動選擇Identity、Sequence、Hilo主鍵生成方式。

特點(diǎn):根據(jù)不同的底層數(shù)據(jù)庫采用不同的主鍵生成方式。由于Hibernate會根據(jù)底層數(shù)據(jù)庫采用不同的映射方式,因此便于程序移植,項(xiàng)目中如果用到多個數(shù)據(jù)庫時,可以使用這種方式。

7.UUID

UUID使用128位UUID算法生成主鍵,能夠保證網(wǎng)絡(luò)環(huán)境下的主鍵***性,也就能夠保證在不同數(shù)據(jù)庫及不同服務(wù)器下主鍵的***性。

特點(diǎn);能夠保證數(shù)據(jù)庫中的主鍵***性,生成的主鍵占用比較多的存貯空間

8.Foreign GUID

Foreign用于一對一關(guān)系中。GUID主鍵生成方式使用了一種特殊算法,保證生成主鍵的***性,支持SQL Server和MySQL。以上介紹Hibernate主鍵。

【編輯推薦】

  1. Hibernate連接配置方法剖析
  2. Hibernate Session實(shí)例剖析
  3. 淺析Hibernate Callback接口
  4. Hibernate Session緩存概述
  5. Hibernate修改addMate方法
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-23 15:50:21

Hibernate u

2009-09-29 10:12:03

Hibernate A

2009-09-24 11:04:56

Hibernate二級

2009-09-29 17:11:23

Hibernate T

2009-09-23 14:23:51

Hibernate主鍵

2012-02-03 10:07:04

HibernateJava

2009-09-21 16:56:14

Hibernateibatis

2009-09-28 13:49:44

Hibernate Q

2009-09-28 17:27:27

Hibernate A

2009-09-25 16:27:33

Hibernate S

2009-09-28 16:54:34

Hibernate示例

2009-09-23 17:41:05

Hibernate事務(wù)

2009-09-25 09:46:03

Hibernate s

2009-09-28 10:24:58

Hibernate基礎(chǔ)

2009-09-29 14:03:14

Hibernate數(shù)據(jù)

2009-09-28 11:30:53

Hibernate核心

2009-09-24 18:11:56

Hibernate q

2009-09-25 16:08:12

Hibernate f

2009-06-29 08:56:49

Hibernate主鍵生成主鍵

2009-09-25 13:33:43

Hibernate主鍵
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 毛片久久久 | 国产综合在线视频 | 91爱爱·com| 国产日韩亚洲欧美 | 成人小视频在线免费观看 | 91不卡在线 | 欧美一区二区三区视频在线播放 | 久久黄网| 久久久精品一区二区 | 日韩和的一区二在线 | 久热精品在线 | 免费视频久久 | 精品久久香蕉国产线看观看亚洲 | 91综合网| 黄色一级大片在线免费看产 | 亚洲精品久久久久久一区二区 | 成人免费视频久久 | 91久久看片 | 日本久久久久久 | 久久99国产精一区二区三区 | 蜜桃精品视频在线 | 色橹橹欧美在线观看视频高清 | 欧美在线观看一区 | 97天天干 | 一区不卡在线观看 | 中文字幕精品视频 | 狠狠躁夜夜躁人人爽天天高潮 | 国产黄色在线观看 | 欧美v日韩v| 中文字幕亚洲欧美日韩在线不卡 | 91久久久久久久久久久久久 | 色婷婷久久久亚洲一区二区三区 | 九九热在线视频免费观看 | 91网站在线播放 | 亚洲精品一区二区在线观看 | 国产亚洲一区二区精品 | 国产精品黄视频 | 精品久久久一区二区 | 欧美不卡一区二区 | 色性av| 成人精品一区二区 |