hibernate 中持久化標識 OID

2021-10-21 14:20:58 字數 580 閱讀 8347

oid 全稱是 object identifier,又叫做物件識別符號

是 hibernate 用於區分兩個物件是否是同乙個物件的標識的方法

識別符號的作用:可以讓 hibernate 來區分多個物件是否是同乙個物件

hibernate 的主鍵生成策略:

identity:自動增長,適用於short、int、long型別的主鍵,使用的是資料庫自動增長機制。不是所有資料庫都支援自動增長,比如oracle沒有自動增長。

sequence :序列,適用於short、int、long型別的主鍵,使用序列方式完成主鍵的生成。必須是支援序列的方式的資料庫。oracle的自動增長

native:本地策略,根據底層的資料庫不同,自動選擇使用identity還是sequence。

uuid:隨機字串,適用於字串型別的主鍵。

assigned:hibernate不維護主鍵,開發人員需要手動設定主鍵。

結論:如果是針對數值型,選擇使用 native, 如果是 varchar 型別,可以使用 uuid,也可以不用 hibernate 維護,自己在程式中手動設定唯一非空(assigned)uuid

hibernate 持久化類

持久化類是什麼 持久化類的編寫規則 持久化類的三種狀態 瞬時態 這種物件沒有唯一的標識 oid 沒有被session管理 持久態 有oid 被session管理 脫管態 有oid 但沒有被session管理 三種狀態轉換 持久態物件 獲得 get load find itrerate session...

初學Hibernate持久化

hibernate三種持久化物件狀態 持久化物件 persistent object pojo hbm對映 1 瞬時狀態 臨時狀態或自由態 po物件剛建立 即new 開始進入瞬時狀態,此時物件並無oid 2 持久化狀態 執行了session.s e 之後,po物件就在session管理範圍內了 3 ...

Hibernate持久化的實現 鎖

1 悲觀鎖 依靠資料庫層提供的鎖機制。string hqlstr from tuser as user where user.name erica query query session.createquery hqlstr query.setlockmode user lockmode.upgra...