日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate generator小结

發(fā)布時(shí)間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate generator小结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

“assigned”?
???
主鍵由外部程序負(fù)責(zé)生成,在?? save()?? 之前指定一個(gè)。????
?????
???
“hilo”?
???
通過hi/lo?? 算法實(shí)現(xiàn)的主鍵生成機(jī)制,需要額外的數(shù)據(jù)庫(kù)表或字段提供高位值來源。?????
?????
???
“seqhilo”?
???
與hilo?? 類似,通過hi/lo?? 算法實(shí)現(xiàn)的主鍵生成機(jī)制,需要數(shù)據(jù)庫(kù)中的?? Sequence,適用于支持?? Sequence?? 的數(shù)據(jù)庫(kù),如Oracle。?????
?????
???
“increment”?
???
主鍵按數(shù)值順序遞增。此方式的實(shí)現(xiàn)機(jī)制為在當(dāng)前應(yīng)用實(shí)例中維持一個(gè)變量,以保存著當(dāng)前的最大值,之后每次需要生成主鍵的時(shí)候?qū)⒋酥导?作為主鍵。這種方式可能產(chǎn)生的問題是:不能在集群下使用。?????
?????
???
“identity”?
???
采用數(shù)據(jù)庫(kù)提供的主鍵生成機(jī)制。如DB2、SQL?? Server、MySQL?? 中的主鍵生成機(jī)制。?????
?????
???
“sequence”?
???
采用數(shù)據(jù)庫(kù)提供的?? sequence?? 機(jī)制生成主鍵。如?? Oralce?? 中的Sequence。?????
?????
???
“native”?
???
由?? Hibernate?? 根據(jù)使用的數(shù)據(jù)庫(kù)自行判斷采用?? identity、hilo、sequence?? 其中一種作為主鍵生成方式。?
???
?????
???
“uuid.hex”?
???
由?? Hibernate?? 基于128?? 位?? UUID?? 算法?? 生成16?? 進(jìn)制數(shù)值(編碼后以長(zhǎng)度32?? 的字符串表示)作為主鍵。
???
???
“uuid.string”?
???
與uuid.hex?? 類似,只是生成的主鍵未進(jìn)行編碼(長(zhǎng)度16),不能應(yīng)用在?? PostgreSQL?? 數(shù)據(jù)庫(kù)中。
?????
???
“foreign”?
???
使用另外一個(gè)相關(guān)聯(lián)的對(duì)象的標(biāo)識(shí)符作為主鍵。

<id>元素中的<generator>用來為該持久化類的實(shí)例生成唯一的標(biāo)識(shí),hibernate提供了很多內(nèi)置的實(shí)現(xiàn)。

Increment:由hibernate自動(dòng)遞增生成標(biāo)識(shí)符,用于為long, short或者int類型生成唯一標(biāo)識(shí)。?
identity :由底層數(shù)據(jù)庫(kù)生成標(biāo)識(shí)符(自動(dòng)增長(zhǎng)),返回的標(biāo)識(shí)符是 long, short 或者int類型的。
sequence :hibernate根據(jù)底層數(shù)據(jù)庫(kù)序列生成標(biāo)識(shí)符,返回的標(biāo)識(shí)符 是long, short或者 int類型的。

hilo???? :使用一個(gè)高/低位算法來高效的生成long, short 或者int類型的標(biāo)識(shí)符。
uuid.hex :用一個(gè)128-bit的UUID算法生成32位字符串類型的標(biāo)識(shí)符。?
native?? :根據(jù)底層數(shù)據(jù)庫(kù)的能力選擇identity, sequence 或者h(yuǎn)ilo中的一個(gè)。?
assigned :讓應(yīng)用程序在save()之前為對(duì)象分配一個(gè)標(biāo)示符。?
foreign :使用另外一個(gè)相關(guān)聯(lián)的對(duì)象的標(biāo)識(shí)符。和<one-to-one>聯(lián)合一起使用。

總結(jié)

以上是生活随笔為你收集整理的Hibernate generator小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。