hibernate生成主鍵id的配置

2021-06-18 09:39:23 字數 652 閱讀 2468

1、identity:用於mysql資料庫。特點:遞增   注:對於mysql資料

庫使用遞增序列時需要在建表時對主鍵指定為auto_increment屬性。

2、sequence:用於oracle資料庫 序列 名

3、native:跨資料庫時使用,由底層方言產生。 default.sequence為hibernate_sequence

class="native"/>   注:使用native時hibernate缺省會去查詢oracle中的hibernate_sequence序列。  如果oracle中沒有該序

列,連oracle資料庫時會報錯。

4、hilo:通過高低位合成id,先建表hi_value,再建列next_value。必須要             有初始值。

high_val

nextval

name="max_lo">5

5、sequencehilo:同過高低位合成id,建乙個sequence序列,不用建表。

name="id" column="id">high_val_seq

name="max_lo">5

6、assigned:使用者自定義id;

class="assigned"/> 7、foreign:用於一對一關係共享主健時,兩id值一樣。

hibernate主鍵生成

hibernate的主鍵生成器 generator元素 表示了乙個主鍵生成器,它用來為持久化類例項生成唯一的標識 1.1 程式設計師自己控制 assigned 1.2 資料庫控制 identity 標識列 自動增長 sequence 1.3 hibernate控制 increment uuid uu...

主鍵 id 生成策略

1 資料庫自動增長 auto increment 優點 簡單方便 數字id天然排序,對分頁或結果需要排序很有幫助 缺點 不同資料庫語法和實現不同,資料庫遷移的時候或多版本支援的時候需要處理 在單個資料庫或讀寫分離或一主多從的情況下,只有乙個主庫可以生成,有單點故障的風險 比較難於擴充套件 分庫分表比...

Hibernate主鍵生成策略

hibernate主鍵生成策略 1 自動增長identity 適用於mysql db2 ms sql server,採用資料庫生成的主鍵,用於為long short int型別生成唯一標識 使用sql server 和 mysql 的自增欄位,這個方法不能放到 oracle 中,oracle 不支援...