① increment
自增,每次增長1, 適用於所有資料庫
. 但是不要使用在多程序
,主鍵型別是數值型
select max(id) from student
② identity
自增,每次增長1, 適用於支援
identity
的資料(mysql,sql server),
主鍵型別是數值
③ sequence
④ native
會根據資料型別來選擇,使用identity,sequence ,hilo
select hibernate_sequence.nextval from dual
主鍵型別是數值long , short ,int
⑤ hilo
hilo識別符號生成器由
hibernate
按照一種
high/low
演算法生成識別符號
用法:my_hi_value
next_value
⑥ uuid
會根據uuid演算法,生成
128-bit
的字串
主鍵屬性型別不能是數值型,而是字串型
⑦ assigned
使用者自己設定主鍵值,所以主鍵屬性型別可以是數值,字串
⑧ 對映復合主鍵
⑨ foreign
在one-to-one的關係中,有另一張表的主鍵
(person)
來決定 自己主鍵/外來鍵
( idcard)
給出乙個簡單原則:
針對oracle [主鍵是
int/long/short
建議使用
sequence]
主鍵是string
使用uuid
或者assinged
針對 mysql [主鍵是
int/long/short
建議使用
increment/assigend ,
如果是字串
uuid/assigned]
針對 sql server [主鍵是
int/long/short
建議使用
identity/native/assinged ,
如果主鍵是字串,使用
uuid/assigned ]
one-to-one 又是基於主鍵的則使用
foreign
主鍵增長策略
主鍵增長策略 assigned 1.表示手動指定主鍵值 2.不管資料庫中是否支援自動增長語句,該策略都要求程式設定主鍵值 3.該策略是沒有元素時的預設策略 4.容易出現重複的主鍵 identity 1.適用於mysql,ms sqlserver等支援自動增長語句的資料庫,不支援oracle 2.適用...
主鍵增長策略
1.資料庫自增長序列或字段 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img qdane5we 1610438478113 c users yujinling desktop 筆記 1.png 優點 1 簡單,方便,效能可以接受。2 數字id天然排序,對分頁或者需要排序的結果很有幫...
通用mapper主鍵增長策略
資料庫支援自增 常見的如 mysql,sqlserver 建議直接指定資料庫 id keysql dialect identitydialect.mysql private integer id 資料庫不支援自增 常見的如 oracle id keysql sql select seq nextva...