創建實體類時的注意事項:
1.持久化類提供無參數構造
2.成員變量私有,提供共有的get/set方法訪問,需提供屬性
3.持久化類中的屬性,應儘量使用包裝類型
4.持久化類需要提供oid,與數據庫中的主鍵列對應
5.不要用final修飾class
主鍵類型:
1.自然主鍵:表的業務列中,某列符合不爲空並且不能重複的特徵,該列可以作爲主鍵使用。 很少用到,例如身份證號碼
2.代理主鍵:表的業務列中,沒有符合自然主鍵的,可以創建一個沒有業務意義的列作爲主鍵。
主鍵生成策略:記錄保存到數據庫時,主鍵的生成規則
1.identity: 主鍵自增,由數據庫來維護主鍵值,錄入時不需要指定主鍵
2.increment: 主鍵自增,由hibernate來維護主鍵值,每次插入數據前先查詢id的最大值,在此基礎上+1作爲新的主鍵值,開發時不使用
3.sequence: Oracle中的主鍵生成策略
4.hilo: 高低位算法,主鍵自增,由hibernate維護,開發時不使用
5.native: hilo+sequence+identity自動三選一
6.uuid: 產生隨機字符串作爲主鍵,主鍵類型必須爲String類型
7.assigned 自然主鍵生成策略,hibernate不會管理主鍵值,開發人員自定義
對象的三種狀態:
1.瞬時狀態:沒有id,沒有與session相關聯
2.持久化狀態:持久化狀態對象的任何變化都會自動同步到數據庫中
3.遊離託管狀態:有id,沒有與session相關聯