今日目錄:
1、Hibernate 用對象標識符(OID)
2、Hibernate 對象標識符生成策略
一、Hibernate 用對象標識符(OID)
二、Hibernate 對象標識符生成策略
主鍵的分類 業務主鍵 VS 代理主鍵 代理主鍵是不具有業務性的;
1、increment 由 Hibernate 自動以遞增的方式生成標識符,適用代理主鍵;
2、identity 由底層數據庫生成標識符;適用代理主鍵;
3、sequcence 由 Hibernate 根據底層數據庫的序列來生成標識符;適用代理主鍵;(MySQL不適用)
4、hilo Hibernate 根據 high/low 算法來生成標識符。適用代理主鍵
5、native 根據底層數據庫對自動生成標識符的支持能力,來選擇 identity,sequence 或 hilo;適用代理主鍵;
使用increment生成的表是沒使用auto increment的,而使用identity或native生成的表就使用了auto increment,推薦使用native。
如:
@GeneratedValue註解中的”generator”屬性要與@GenericGenerator註解中name屬性一致,strategy屬性表示hibernate的主鍵生成策略
如果想知道跟多資源,請關注微信公眾號:Java學習之樂
在後臺回覆:Java或工具,能獲得就業班的學習資料,從此走向人生巔峰
閱讀更多 Java學習之樂 的文章