您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“hibernate中配置文件工作原理的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“hibernate中配置文件工作原理的示例分析”這篇文章吧。
實(shí)體類(lèi)
一: private Set<LinkMan> linkMans; // 表達(dá)一對(duì)多關(guān)系 多: private Customer customer ; //表達(dá)多對(duì)一關(guān)系
配置文件
一:
<!-- 集合,一對(duì)多關(guān)系,在配置文件中配置 --> <!-- name屬性: 集合屬性名 column屬性: 外鍵列名 class屬性: 與我關(guān)聯(lián)的對(duì)象完整類(lèi)名 --> <!-- 級(jí)聯(lián)操作: cascade屬性 save-update: 級(jí)聯(lián)保存更新 delete: 級(jí)聯(lián)刪除 all: save-update+delete 級(jí)聯(lián)操作: 簡(jiǎn)化操作.目的就是為了少些兩行代碼. --> <!-- inverse屬性: 配置關(guān)系是否維護(hù). true: customer不維護(hù)關(guān)系 false(默認(rèn)值): customer維護(hù)關(guān)系 inverse屬性: 性能優(yōu)化.提高關(guān)系維護(hù)的性能. 原則: 無(wú)論怎么放棄,總有一方必須要維護(hù)關(guān)系. 一對(duì)多關(guān)系中: 一的一方放棄.也只能一的一方放棄.多的一方不能放棄. --> <set name="linkMens" inverse="true" cascade="delete"> <key column="lkm_cust_id" ></key> <one-to-many class="LinkMan" /> </set>
多:
<!-- 多對(duì)一 --> <!-- name屬性: 引用屬性名 column屬性: 外鍵列名 class屬性: 與我關(guān)聯(lián)的對(duì)象完整類(lèi)名 --> <!-- 級(jí)聯(lián)操作: cascade屬性 save-update: 級(jí)聯(lián)保存更新 delete: 級(jí)聯(lián)刪除 all: save-update+delete 級(jí)聯(lián)操作: 簡(jiǎn)化操作.目的就是為了少些兩行代碼. --> <!-- 多的一方: 不能放棄維護(hù)關(guān)系的.外鍵字段就在多的一方. --> <many-to-one name="customer" column="lkm_cust_id" class="Customer"></many-to-one>
實(shí)體類(lèi)
多:private Set<User> users; // 表達(dá)多對(duì)多關(guān)系 多:private Set<Role> roles; // 表達(dá)多對(duì)多關(guān)系
配置文件
多:
<!-- 多對(duì)多關(guān)系表達(dá) --> <!-- name: 集合屬性名 table: 配置中間表名 key column: 外鍵,別人引用"我"的外鍵列名 many-to-many class: 我與哪個(gè)類(lèi)是多對(duì)多關(guān)系 column: 外鍵.我引用別人的外鍵列名 --> <!-- 使用inverse屬性 true: 放棄維護(hù)外鍵關(guān)系 false(默認(rèn)值):維護(hù)關(guān)系 結(jié)論: 將來(lái)在開(kāi)發(fā)中,如果遇到多對(duì)多關(guān)系.一定要選擇一方放棄維護(hù)關(guān)系. 一般誰(shuí)來(lái)放棄要看業(yè)務(wù)方向. 例如錄入員工時(shí),需要為員工指定所屬角色. 那么業(yè)務(wù)方向就是由員工維護(hù)角色. 角色不需要維護(hù)與員工關(guān)系.角色放棄維護(hù) --> <set name="users" table="sys_user_role" inverse="true" > <key column="role_id" ></key> <many-to-many class="User" column="user_id" ></many-to-many> </set>
多:
<!-- 多對(duì)多關(guān)系表達(dá) --> <!-- name: 集合屬性名 table: 配置中間表名 key column: 外鍵,別人引用"我"的外鍵列名 many-to-many class: 我與哪個(gè)類(lèi)是多對(duì)多關(guān)系 column: 外鍵.我引用別人的外鍵列名 --> <!-- cascade級(jí)聯(lián)操作: save-update: 級(jí)聯(lián)保存更新 delete: 級(jí)聯(lián)刪除 all: 級(jí)聯(lián)保存更新+級(jí)聯(lián)刪除 結(jié)論: cascade簡(jiǎn)化代碼書(shū)寫(xiě).該屬性使不使用無(wú)所謂. 建議要用只用save-update. 如果使用delete操作太過(guò)危險(xiǎn).尤其在多對(duì)多中.不建議使用. --> <set name="roles" table="sys_user_role" cascade="save-update" > <key column="user_id" ></key> <many-to-many class="Role" column="role_id" ></many-to-many> </set>
以上是“hibernate中配置文件工作原理的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。