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不會自動生成了,否則會生成後替換到自己...