Hibernate中實體類創(chuàng)建的注意事項
主鍵類型
自然主鍵(少見):表的業(yè)務中,有某業(yè)務列符合,必須有,并且不重復的特征時,該列可以作為主鍵使用。
代理主鍵(常見):表的業(yè)務中,沒有某業(yè)務列符合,必須有,并且不重復的特征時,創(chuàng)建一個沒有業(yè)務意義的列作為主鍵使用。
?
主鍵生成策略
每條記錄錄入時主鍵生成規(guī)則
identity:主鍵自增,由數(shù)據(jù)庫維護主鍵值,錄入時不需要指定主鍵。
increment:主鍵自增。由hibernate來維護,每次插入前會先查詢表中id最大值,+1作為新主鍵值(實際開發(fā)時不用,因為多線程時會覆蓋數(shù)據(jù),引起沖突)
sequence:Oracle中的主鍵生成策略。
hilo:高低位算法,由hibernate來維護(實際開發(fā)時不使用)
native:hilo+sequence+identity自動三選一策略
uuid:產(chǎn)生隨機字符串作為主鍵,主鍵類型必須為string類型
assigned:自然主鍵生成策略:hibernate不會管理主鍵值,由開發(fā)人員自己錄入主鍵。


標簽: