Java框架:Hibernate實體--entity

實體類規則entity

  • 提供一個無參數 public訪問控制符的構造器
  • 提供一個標識屬性,映射數據表主鍵字段,提供id   和  hbm.xml中id對應
  • 所有屬性提供public訪問控制符的 set  get 方法(javaBean)
  • 標識屬性應儘量使用基本數據類型的包裝類型
  • 不要用final修飾實體 (將無法生成代理對象進行優化)
  • 持久化對象的唯一標識 OID:對應映射文件的id屬性

自然主鍵和代理主鍵

  •         主鍵具備: 不爲空/不能重複/不能改變        
  •         自然主鍵:某個屬性符合主鍵的三個要求.該屬性可作爲主鍵列.
  •         代理主鍵:不存符合以上3個條件的屬性,那麼就增加一個沒有意義的列

實體狀態 :瞬時狀態、持久狀態、脫管狀態

  • 瞬時狀態:transient,     session沒有緩存, 數據庫沒有記錄,     oid沒有值
  • 持久狀態:persistent,   session有緩存,     數據庫有記錄,           oid有值
  • 脫管狀態:detached,  session沒有緩存, 數據庫有記錄,           oid有值
  1. 瞬時  :  創建一個對象,這個對象就是瞬時狀態
  2. 瞬時 轉 持久  :  瞬時狀態執行經過save、update、saveOrUpdate之後變成持久狀態
  3. 持久 轉 脫管  :load,get返回的對象是持久狀態的,當session.close () 關閉或者session.clear() 清除所有或者session.evict(obj) 清除指定的PO對象後,對象變成脫管狀態

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章