Hibernate的主鍵生成策略

2021-08-31 18:14:49 字數 472 閱讀 4602

主鍵生成策略

主鍵不應該由使用者自己輸入,而是由程式生成。

(1)increment:自動增長,使用的是hibernate中提供的自動增長機制,適應於short,int,long。hibernate底層使用查詢一下表中主鍵的最大值。select  max(cust id ) from customer,然後將id+1作為當前的主鍵。

問題:在集群中不要使用

(2)identity:自動增長。使用的是資料庫的自動增長機制。使用於有自動增長機制的機器。oracle沒有自動這增長功能。

(3)sequence:序列,使用的是序列的方式完成資料庫的主鍵的生成)(oracle和db2可以使用)

(4)native:本地策略,根據資料庫不同自動選擇identity和sequence。

(5)uuid:適用於字串型別的主鍵,產生乙個隨機的字串。

(6)assigned:hibernate不管理主鍵,使用者手動設定主鍵的值

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...