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