1、 hibernate模板規(guī)則 一對多(set):
<set name=""> <key column=""/> <one-to-many class="" /></set>多對一:
<many-to-one name="" class="" column=""/>多對多(set):
<set name="" table=""> <key column=""/> <many-to-many class="" column=""/></set>一對一(基于外鍵的有外鍵方)
<many-to-one name="" class="" column="" unique="true" />一對一(基于外鍵的無外鍵方)
<one-to-one name="" class="" 2、填寫name、class、column等屬性值 privilege屬性:表示與Privilege的多對多關(guān)系 Employee.hbm.xml中配置 概念:表示本對象(員工) 關(guān)系:多個員工(employee)對應(yīng)一個部門(department) 一般規(guī)則: name填寫的就是本方關(guān)聯(lián)的對方,Employee關(guān)聯(lián)的對方就是Department。所以這里的值寫department class填寫的就是本方關(guān)聯(lián)的對方的實體類,,Employee關(guān)聯(lián)的對方就是Department。所以這里的值寫Department<many-to-one name="department" class="Department" column="departmentId" />三步走: –A(表示name屬性) –B(表示class屬性) –C(表示column屬性)
name屬性 填寫A,比如這里many-to-one的name屬性寫department
class屬性 填寫B(tài),比如這里many-to-one的class屬性寫Department
舉例說明:
<!-- employee屬性: 表示與Employee的一對一的關(guān)系,本方是有外鍵方 --> <many-to-one name="employee" class="Employee" column="employeeId" unique="true" />column屬性:在many-to-one中,column屬性寫本條配置中name屬性加id后綴在one-to-many的<key>中column,寫關(guān)聯(lián)對方類的表達(dá)此關(guān)系的外鍵列名在many-to-many的<set> 內(nèi)嵌 <key>中column屬性寫關(guān)聯(lián)對方類的<many-to-many>的column屬性<many-to-many>中的column屬性填寫本類<set>標(biāo)簽的name屬性值去掉s加Id后綴,比如:實體類中我習(xí)慣將員工的Set集合寫成 employees<set> 的table屬性寫:兩個關(guān)聯(lián)實體類首字母小寫,通過下劃線連接,比如:teacher_student在one-to-one的無外鍵方的property-ref=""寫有外鍵方的對方類的name屬性值上面的規(guī)則可以結(jié)合如下的資料配合使用 由于資源上傳有大小限制,這里的資源只包含hbm.xml和實體類還有部分測試代碼,其他環(huán)境請百度一下 傳送門 http://www.baidu.com 資料地址: http://download.csdn.net/detail/u010503822/9755383
新聞熱點
疑難解答