Hibernate主鍵生成方式

2021-07-09 03:49:51 字數 583 閱讀 2716

hibernate主鍵生成方式

hibernate負責管理主鍵值。

hibernate提供了多種主鍵生成方式。

主要有以下幾種:

a.sequence

可以按指定序列生成主鍵值。只適用於支援序列的資料庫,如oracle。

序列名b.identity

按資料庫自動增長機制生成主鍵值。一般用於mysql、sqlserver資料庫。

c.native

hibernate會根據方言型別不同,選擇不同的主鍵生成方式。

d.assinged

hibernate會放棄主鍵生成,採用此方法,需要在程式中指定主鍵值。

e.increment

hibernate先執行select max(id)...語句獲取主鍵最大值,然後加1操作,然後再呼叫insert語句插入。併發量大的時候不建議用。

f.uuid/hilo

uuid指的是按uuid演算法生成乙個主鍵值(字串型別)。hilo指的是按高地位演算法生成乙個主鍵值(數值型別)。

Hibernate主鍵生成方式

nhibernate主鍵生成方式 hibernate主鍵生成方式 key generator 主鍵產生器 可選項說明 1 assigned 主鍵由外部程式負責生成,無需hibernate參與。2 hilo 通過hi lo 演算法實現的主鍵生成機制,需要額外的資料庫表儲存主 鍵生成歷史狀態。3 seq...

hibernate中主鍵生成方式

color darkblue color 1 color green assigned color 主鍵由應用邏輯產生,資料交由hibernate儲存時,主鍵值已經設定完畢,無需hibernate干預。在主鍵要特殊設定,有特殊意義的情況下使用,hibernate不會自動生成了,否則會生成後替換到自己...

Hibernate主鍵的生成方式

1 assigned 所有的資料庫都適用 在呼叫s e 方法之前,要對主鍵設定值,不設定報錯 2 increment 按照資料庫的乙個順序值來增長 適用於mysql oracle db2 sqlserver h2等資料庫 注意 每次新增前,都會查詢主鍵的最大值 然後在其基礎上加1,作為新增的主鍵值 ...