主鍵生成策略是指
1、native
對於oracle採用sequence方式,對於mysql和sqlserver採用identity(自增主鍵生成機制),native就是將主鍵的生成工作交由資料庫完成,hibernate不管(很常用)
2、assigned
在插入資料的時候主鍵由使用者自己新增,hibernate也不管(很常用)
3、increment
插入資料的時候hibernate會給主鍵新增乙個自增的主鍵,但是乙個hibernate例項就維護乙個計數器,所以在多個例項執行的時候不能使用這個方法
4、sequence
呼叫資料庫的sequence來生成主鍵,要設定序列名,不然hibernate無法找到:
name_seq(oracle中很常用)
5、identity
使用sqlserver和mysql的自增欄位,這個方法不能放到oracle中,oracle不支援自增字段,要設定sequence(mysql和sqlserver中很常用)
6、hilo
使用hilo生成策略,要在資料庫中建立一張額外的表,預設表名為hibernate_unique_key,預設欄位為integer型別,名稱是next_hi(比較少用)
我們也可以自己設定自定義的表名和欄位名
7、sehilo
通過hilo演算法實現,但是主鍵歷史儲存在sequence中,適用於支援sequence的資料庫,如oracle(比較少用)
8、uuid.hex
hibernate會算出乙個128位的唯一值插入
9、uuid.string
hibernate會算出乙個16位的值插入
10、foreign
使用外部表的字段作為主鍵
11、select
使用觸發器生成主鍵(主要用於早期的資料庫主鍵生成機制,少用)
hibernate主鍵生成
hibernate的主鍵生成器 generator元素 表示了乙個主鍵生成器,它用來為持久化類例項生成唯一的標識 1.1 程式設計師自己控制 assigned 1.2 資料庫控制 identity 標識列 自動增長 sequence 1.3 hibernate控制 increment uuid uu...
Hibernate主鍵生成策略
hibernate主鍵生成策略 1 自動增長identity 適用於mysql db2 ms sql server,採用資料庫生成的主鍵,用於為long short int型別生成唯一標識 使用sql server 和 mysql 的自增欄位,這個方法不能放到 oracle 中,oracle 不支援...
Hibernate主鍵生成策略
1 自動增長identity 適用於mysql db2 ms sql server,採用資料庫生成的主鍵,用於為long short int型別生成唯一標識 使用sql server 和 mysql 的自增欄位,這個方法不能放到 oracle 中,oracle 不支援自增字段,要設定sequence...