OID: 對(duì)象標(biāo)識(shí)符
assigned :OID由業(yè)務(wù)邏輯程序負(fù)責(zé)產(chǎn)生,hibernate只負(fù)責(zé)持久化,常用于映射自然主鍵
hilo:OID由hibernate按照high/low算法產(chǎn)生,該算法需要從數(shù)據(jù)庫的某個(gè)表的字段中讀取high值
increment:OID由hibernate依遞增方式產(chǎn)生,該算法依賴保存于當(dāng)前應(yīng)用實(shí)例中的一個(gè)最大值變量,當(dāng)有多個(gè)應(yīng)用 實(shí)例需要訪問數(shù)據(jù)庫時(shí)難免出現(xiàn)重復(fù)的主鍵
identity:OID由底層數(shù)據(jù)庫的自增主鍵生成機(jī)制產(chǎn)生,如mysql的auto_increment類型主鍵和sql_server的identity主鍵
sequence:OID由底層數(shù)據(jù)庫的sequence主鍵生成機(jī)制產(chǎn)生,如oracle
native:根據(jù)底層數(shù)據(jù)庫自動(dòng)生成OID能力的支持情況,具體選擇上面的哪個(gè)標(biāo)識(shí)生成器,常用于跨平臺(tái)
如:mysql,sybase,db2,sqlserver數(shù)據(jù)庫的主鍵映射:
.....
<id name="id" column="ID" type="integer">
<generator class="identity"/>
</id>
db2,oracle,postgresql,interbase,mckoi,sapdb數(shù)據(jù)庫的主鍵映射:
.....
<id name="id" column="ID" type="integer">
<generator class="sequence"/>
</id>
跨平臺(tái)應(yīng)用中的主鍵映射:
.....
<id name="id" column="ID" type="integer">
<generator class="native"/>
</id>
自然主鍵映射:
.....
<id name="id" column="ID" type="integer">
<generator class="assigned"/>
</id>
復(fù)合自然主鍵映射:
.....
<composite-id>
<key-property name="userName" column="UserName" type="String"/>
<key-property name="userPwd" column="UserPwd" type="String"/>
</composite-id>
posted on 2008-05-24 21:04
長春語林科技 閱讀(381)
評(píng)論(1) 編輯 收藏 所屬分類:
hibernate