Hibernate 主鍵生成策略

2021-09-17 22:56:42 字數 768 閱讀 2381

自然主鍵

**主鍵

在實際開發中一般不允許使用者手動設定主鍵,一般將主鍵交給資料庫,手動編寫程式進行設定。在hibernate中為了減少程式編寫,提供了很多種的主鍵的生成策略。

將使用hibernate中提供的自動增長機制,不使用資料庫中的自動增長。適用short,int,long型別的主鍵。在單執行緒程式中使用。

- 首先傳送一條語句:select max(id) from 表;然後讓id + 1作為下一條記錄的主鍵。

identity :適用於short,int,long型別的主鍵,使用的是資料庫底層的自動增長機制。適用於有自動增長機制資料庫(mysql,mssql),但是oracle是沒有自動增長。

適用short,int,long型別的主鍵,採用的是序列的方式。(oracle支援序列)

適用於字串型別主鍵。適用hibernate中的隨機方式生成字串主鍵。

本地策略,可以在identity和sequence之間進行自動切換。

hibernate 放棄外來鍵的管理,需要通過手動編寫程式或者使用者自己設定。

外部的,一對一的一種關聯對映的情況下使用。

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

hibernate主鍵生成策略

文章摘抄至 1 自動增長identity 適用於mysql db2 ms sql server,採用資料庫生成的主鍵,用於為long short int型別生成唯一標識 使用sql server 和 mysql 的自增欄位,這個方法不能放到 oracle 中,oracle 不支援自增字段,要設定se...