實(shí)體必須要有無參的構(gòu)造方法,不然會(huì)報(bào)錯(cuò)。
- hibernate底層就是調(diào)用Entity的無參構(gòu)造方法。
2,提供一個(gè)標(biāo)示屬性,映射數(shù)據(jù)表主鍵字段,提供id
3,所有的屬性要提供public的set 和 get方法
4,標(biāo)示屬性應(yīng)盡量使用基本數(shù)據(jù)類型的包裝類型
5,不要使用final修飾實(shí)體(將無法對生成的代理對象產(chǎn)生優(yōu)化) - 用get方法獲取數(shù)據(jù)的時(shí)候沒有問題,當(dāng)使用load方法就會(huì)出現(xiàn)無法生成代理。因?yàn)閒inal修飾實(shí)體就無法被繼承。
OID 與主鍵對應(yīng),唯一標(biāo)識(shí)符。一般讓hibernate區(qū)賦值,我們不需要自己去賦值。
自然主鍵和代理主鍵
- 主鍵:不能為空、不能重復(fù)、不能改變
- 自然主鍵:某個(gè)屬性符合主鍵的3個(gè)要求。如用戶名就是自然主鍵。
- 代理主鍵:屬性不符合上面的三個(gè)要求,就增加一個(gè)沒有意義且符合上面規(guī)則的列,這個(gè)列的字段就是代理主鍵。如果id
基本數(shù)據(jù)類型與包裝類 - 包裝類型可以為null
- 基本數(shù)據(jù)類型默認(rèn)為0,無法表示null。業(yè)務(wù)中用0不好。
數(shù)據(jù)類型的對應(yīng)關(guān)系:
實(shí)體類型
數(shù)據(jù)庫中的數(shù)據(jù)類型

image.png