Hibernate主鍵的生成方式

2022-09-13 18:54:12 字數 784 閱讀 9068

1、assigned 所有的資料庫都適用;

在呼叫s**e()方法之前,要對主鍵設定值,不設定報錯;

2、increment 按照資料庫的乙個順序值來增長;

適用於mysql、oracle、db2、sqlserver、h2等資料庫;

注意: 每次新增前,都會查詢主鍵的最大值;

然後在其基礎上加1,作為新增的主鍵值;

3、identity 根據底層資料庫的能力,來作為主鍵的自增長策略;

適用於 mysql、db2、sqlserver等;

不適用於oracle資料庫;

4、sequence 根據底層資料庫支援的能力,來作為主鍵值的生成策略;

適用於oracle、db2資料庫;

不適用於mysql、sqlserver資料庫;

user5.seq_aa

5、native 根據底層資料庫支援的自增長能力,自動選擇hilo、identity、sequence其中的乙個來完成該主鍵的自增長;

mysql資料庫中: oracle的資料庫中

seq_aa

6、uuid 主鍵為varchar型別;

生成16進製制 32位的字串型別;

生成的資料唯一;

適用於mysql、oracle、sqlserver、db2等資料庫;

7、foreign : 表關係中 再講;

-- 悲觀鎖: select 列名.... from 表名稱 [where .....] for update;

personbean.xml檔案

user5.seq_aa

Hibernate主鍵生成方式

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

Hibernate主鍵生成方式

hibernate主鍵生成方式 hibernate負責管理主鍵值。hibernate提供了多種主鍵生成方式。主要有以下幾種 a.sequence 可以按指定序列生成主鍵值。只適用於支援序列的資料庫,如oracle。序列名b.identity 按資料庫自動增長機制生成主鍵值。一般用於mysql sql...

hibernate中主鍵生成方式

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