Hibernate初識 (二) 主鍵生成策略

2021-09-23 08:00:06 字數 915 閱讀 3132

(1)sequence

1.sequence :是採用序列方式生成主鍵,適用於oracle資料庫

2.配置語法為:

(2)identity

1.identity是採用資料庫自增長機制生成主鍵,適用於oracle之外的其他資料庫.

2.配置語法為:

(3)native

1.native是根據當前配置的資料庫方言,自動選擇 sequence或者identity

2.配置語法為:

(4)increment (不常用)

1.increment 不是採用資料庫自身的機制來生成主鍵,而是hibernate提供的一種生成主鍵的方式.它會獲取當前表中主鍵的最大值,然後加1作為新的主鍵.

2.配置語法為:

1.assigned 是hibernate不負責生成主鍵,需要程式設計師自己處理主鍵的生成.

2.配置語法為:

需要使用 set方法  自己設定主鍵

例:empno為主鍵欄位

emp e = new emp();

e.setempno(1);

(6) uuid/hilo

1.uuid/hilo :是採用uuid或hilo演算法生成乙個主鍵,這個主鍵值是乙個不規則的長數字。

要求:必須是字串型別,長度必須大於等於32位。

2.配置語法為:

Hibernate主鍵對映

實體類最好有主鍵,並有對應的getter setter方法,這是hibernate推薦的,主鍵盡量可以為null值的型別,例如integer string long等,而不要使用int long等 配置主鍵 hibernate中用 id宣告該列為主鍵列,同時使用 column宣告該列的列明,當列明於...

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 不支援...